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计算牛顿迭代多项式实例分析
May 07 Python
python实现爬虫下载美女图片
Jul 14 Python
Python实现的求解最大公约数算法示例
May 03 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
Jun 09 Python
Python实现正则表达式匹配任意的邮箱方法
Dec 20 Python
Python实现的爬取小说爬虫功能示例
Mar 30 Python
python实现nao机器人身体躯干和腿部动作操作
Apr 29 Python
Python获取数据库数据并保存在excel表格中的方法
Jun 12 Python
用Anaconda安装本地python包的方法及路径问题(图文)
Jul 16 Python
Python namedtuple命名元组实现过程解析
Jan 08 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
Jan 09 Python
Flask处理Web表单的实现方法
Jan 31 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
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
Yii2超好用的日期和时间组件(值得收藏)
2016/05/05 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
js replace替换所有匹配的字符串
2014/02/13 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
2016/04/25 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
JS 5种遍历对象的方式
2020/06/16 Javascript
原生js实现随机点名
2020/07/05 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
Vue两种组件类型:递归组件和动态组件的用法
2020/08/06 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
python读写ini文件示例(python读写文件)
2014/03/25 Python
Python中itertools模块用法详解
2014/09/25 Python
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
python算法题 链表反转详解
2019/07/02 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
在家更换处方镜片:Lensabl
2019/05/01 全球购物
教师个人事迹材料
2014/12/17 职场文书
大学班长竞选稿
2015/11/20 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
 Redis 串行生成顺序编码的方法实现
2022/04/03 Redis