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写asp详细讲解
Dec 16 Python
Python中使用item()方法遍历字典的例子
Aug 26 Python
python实现矩阵乘法的方法
Jun 28 Python
如何实现删除numpy.array中的行或列
May 08 Python
python 利用for循环 保存多个图像或者文件的实例
Nov 09 Python
对python3标准库httpclient的使用详解
Dec 18 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
Jan 15 Python
python使用requests模块实现爬取电影天堂最新电影信息
Apr 03 Python
使用Python实现画一个中国地图
Nov 23 Python
python 字典套字典或列表的示例
Dec 16 Python
Python面向对象魔法方法和单例模块代码实例
Mar 25 Python
flask框架中的cookie和session使用
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
PHP中动态HTML的输出技术
2006/10/09 PHP
php.ini 中文版
2006/10/28 PHP
php中自定义函数dump查看数组信息类似var_dump
2014/01/27 PHP
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
2013/10/24 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
confirm确认对话框的实现方法总结
2016/06/17 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
解决vue-cli输入命令vue ui没效果的问题
2020/11/17 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
Python工程师面试必备25条知识点
2018/01/17 Python
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
利用python制作拼图小游戏的全过程
2020/12/04 Python
纯CSS3实现绘制各种图形实现代码详细整理
2012/12/26 HTML / CSS
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
2014社区健康教育工作总结
2014/12/16 职场文书
三好学生评语大全
2014/12/29 职场文书
2016年大学自主招生自荐信范文
2015/03/24 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
大学生社会实践感想
2015/08/11 职场文书
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL
python代码实现备忘录案例讲解
2021/07/26 Python
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL