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中dir函数用法分析
Apr 17 Python
python通过get,post方式发送http请求和接收http响应的方法
May 26 Python
python提取字典key列表的方法
Jul 11 Python
python编写微信远程控制电脑的程序
Jan 05 Python
python中int与str互转方法
Jul 02 Python
python实现梯度下降算法
Mar 24 Python
Python代理IP爬虫的新手使用教程
Sep 05 Python
Python逐行读取文件内容的方法总结
Feb 14 Python
pygame用blit()实现动画效果的示例代码
May 28 Python
python如何实现DES加密
Sep 21 Python
如何用python 操作zookeeper
Dec 28 Python
Python自动操作神器PyAutoGUI的使用教程
Jun 16 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+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
javascript下判断一个对象是否具有指定名称的属性的的代码
2010/01/11 Javascript
jquery 可拖拽的窗体控件实现代码
2010/03/21 Javascript
关于jquery的多个选择器的使用示例
2013/10/18 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
2017/05/13 jQuery
js 两数组去除重复数值的实例
2017/12/06 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
vue中过滤器filter的讲解
2019/01/21 Javascript
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现windows下文件备份脚本
2018/05/27 Python
对json字符串与python字符串的不同之处详解
2018/12/19 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
删除pycharm鼠标右键快捷键打开项目的操作
2021/01/16 Python
eBay瑞士购物网站:eBay.ch
2018/12/24 全球购物
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
方法名是否可以与构造器的名字相同
2012/06/04 面试题
优秀大学生求职自荐信范文
2014/04/19 职场文书
读书月活动方案
2014/05/22 职场文书
应届生自荐书
2014/06/23 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
黄河绝恋观后感
2015/06/08 职场文书
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang
vue打包时去掉所有的console.log
2022/04/10 Vue.js