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的批量远程管理和部署工具Fabric用法实例
Jan 23 Python
Python中使用装饰器和元编程实现结构体类实例
Jan 28 Python
详解在Python和IPython中使用Docker
Apr 28 Python
python使用mailbox打印电子邮件的方法
Apr 30 Python
Python使用email模块对邮件进行编码和解码的实例教程
Jul 01 Python
简单了解Python中的几种函数
Nov 03 Python
python回调函数中使用多线程的方法
Dec 25 Python
python的re正则表达式实例代码
Jan 24 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
Jun 26 Python
在Python中append以及extend返回None的例子
Jul 20 Python
python3.8.1+selenium实现登录滑块验证功能
May 22 Python
PyTorch 如何设置随机数种子使结果可复现
May 12 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调用Java对象的方法
2006/10/09 PHP
PHP数据库开发知多少
2006/10/09 PHP
php缓存技术详细总结
2013/08/07 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
基于jquery的给文章加入关键字链接
2010/10/26 Javascript
文本框只能选择数据到文本框禁止手动输入
2013/11/22 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
Vue AST源码解析第一篇
2017/07/19 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
2019/03/29 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
Python中逗号的三种作用实例分析
2015/06/08 Python
python 数字类型和字符串类型的相互转换实例
2018/07/17 Python
python实现整数的二进制循环移位
2019/03/08 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
python中pdb模块实例用法
2021/01/15 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
vue+django实现下载文件的示例
2021/03/24 Vue.js
在校生党员自我评价
2013/09/25 职场文书
行政部总经理岗位职责
2014/01/04 职场文书
大学生活动总结模板
2014/07/02 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
2015年平安创建工作总结
2015/04/29 职场文书
小学入学感言
2015/08/01 职场文书
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技