Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例


Posted in Python onMarch 04, 2020

我就废话不多说了。大家直接看代码吧!

#!/usr/bin/env python
#coding=utf-8
'''
  窗口屏幕居中,设置窗口最大,最小尺寸...
  版权所有 2014 yao_yu (http://blog.csdn.net/yao_yu_126)
  本代码以MIT许可协议发布
  2014-04-15 创建
'''
 
import tkinter as tk
from tkinter  import ttk
 
def get_screen_size(window):
  return window.winfo_screenwidth(),window.winfo_screenheight()
 
def get_window_size(window):
  return window.winfo_reqwidth(),window.winfo_reqheight()
 
def center_window(root, width, height):
  screenwidth = root.winfo_screenwidth()
  screenheight = root.winfo_screenheight()
  size = '%dx%d+%d+%d' % (width, height, (screenwidth - width)/2, (screenheight - height)/2)
  print(size)
  root.geometry(size)
 
root = tk.Tk()
root.title('测试窗口')
center_window(root, 300, 240)
root.maxsize(600, 400)
root.minsize(300, 240)
ttk.Label(root, relief = tk.FLAT, text = '屏幕大小(%sx%s)\n窗口大小(%sx%s)' % (get_screen_size(root) + get_window_size(root))).pack(expand = tk.YES)
tk.mainloop()

补充知识:关于tkinter几个需要用到的窗口设置

设置窗口的大小和位置

geometry(widthxheight+x+y)

窗口的长宽分别为width和height;

窗口到主窗口的间距为 x和 y ;

注意可以使用减号,例如 10x10-10-10 代表10*10大小的窗口出现在右下角,但是不能直接使x或y为负值,然后带入 wxh+x+y;同时这个格式里不能有空格。

当没有参数时,用此方法能返回当前的尺寸位置参数。

# -*- coding:utf-8 -*-
from tkinter import *

root = Tk()
width, height, padx, pady = 800, 600, 40, 300
root.geometry('%dx%d-%d+%d' % (width, height, padx, pady))

设置窗口样式、透明和全屏

-toolwindow 可设置窗口为工具栏样式;

-alpha 可设置透明度,0完全透明,1不透明。这里透明是窗口内的所有内容,不仅是窗体,所以要特别小心一个完全透明的窗口!

-fullscreen 设置全屏 注意前面的短横杠(-) 不能少

-topmost 设置窗口置顶。两个同时被置顶的窗口为同级(能互相遮盖),但他们都能同时遮盖住没有被设置为置顶的窗口。

root.attributes('-toolwindow', False, 
        '-alpha', 0.9, 
        '-fullscreen', True, 
        '-topmost', True)

去掉标题栏

去掉窗口的框架,脱离windows窗口管理。所以此时你也不能拖动它。并且这个窗口也不会出现在任务栏。

root.overrideredirect(True)

思考题:一个全屏、置顶、透明、去标题栏的窗口将意味着什么?

以上这篇Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python删除Java源文件中全部注释的实现方法
Aug 30 Python
Python三种遍历文件目录的方法实例代码
Jan 19 Python
django文档学习之applications使用详解
Jan 29 Python
解决在pycharm中显示额外的 figure 窗口问题
Jan 15 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
Sep 06 Python
python3 assert 断言的使用详解 (区别于python2)
Nov 27 Python
python函数不定长参数使用方法解析
Dec 14 Python
Pytorch的mean和std调查实例
Jan 02 Python
Python实现GIF图倒放
Jul 16 Python
python3爬虫GIL修改多线程实例讲解
Nov 24 Python
忆童年!用Python实现愤怒的小鸟游戏
Jun 07 Python
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
Apr 21 Python
关于Python Tkinter Button控件command传参问题的解决方式
Mar 04 #Python
在python tkinter界面中添加按钮的实例
Mar 04 #Python
Python tkinter布局与按钮间距设置方式
Mar 04 #Python
python 按钮点击关闭窗口的实现
Mar 04 #Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 #Python
python虚拟环境模块venv使用及示例
Mar 04 #Python
Python类的绑定方法和非绑定方法实例解析
Mar 04 #Python
You might like
php中3种方法删除字符串中间的空格
2014/03/10 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
javascript函数重载解决方案分享
2014/02/19 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
使用JQuery库提供的扩展功能实现自定义方法
2014/09/09 Javascript
JavaScript 基本概念
2015/01/20 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
2016/01/28 Javascript
第十篇BootStrap轮播插件使用详解
2016/06/21 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
BootStrap fileinput.js文件上传组件实例代码
2017/02/20 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
2020/03/14 Javascript
Vue-cli3多页面配置详解
2020/03/22 Javascript
Vue computed 计算属性代码实例
2020/04/22 Javascript
[01:37]全新的一集《真视界》——TI7总决赛
2017/09/21 DOTA
[01:04:31]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第二场 1月8日
2021/03/11 DOTA
python计数排序和基数排序算法实例
2014/04/25 Python
python中查看变量内存地址的方法
2015/05/05 Python
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
Python同步遍历多个列表的示例
2019/02/19 Python
pyhanlp安装介绍和简单应用
2019/02/22 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
tensorflow模型转ncnn的操作方式
2020/05/25 Python
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
文明班级申报材料
2014/12/24 职场文书
八年级英语教学计划
2015/01/23 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
pandas求平均数和中位数的方法实例
2021/08/04 Python
Python使用openpyxl模块处理Excel文件
2022/06/05 Python