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 相关文章推荐
python3.4用循环往mysql5.7中写数据并输出的实现方法
Jun 20 Python
Django内容增加富文本功能的实例
Oct 17 Python
利用Django内置的认证视图实现用户密码重置功能详解
Nov 24 Python
Python实现简单网页图片抓取完整代码实例
Dec 15 Python
Python 获取div标签中的文字实例
Dec 20 Python
Pandas删除数据的几种情况(小结)
Jun 21 Python
结合OpenCV与TensorFlow进行人脸识别的实现
Oct 10 Python
Python字符编码转码之GBK,UTF8互转
Feb 09 Python
Python urllib3软件包的使用说明
Nov 18 Python
PyCharm Community安装与配置的详细教程
Nov 24 Python
python requests库的使用
Jan 06 Python
Python中的 enumerate和zip详情
May 30 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
国内咖啡文化
2021/03/03 咖啡文化
PHP使用mysqli同时执行多条sql查询语句的实例
2019/03/22 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
AJAX架构之Dojo篇
2007/04/10 Javascript
Jquery插件之多图片异步上传
2010/10/20 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
jQuery中ajax的使用与缓存问题的解决方法
2013/12/19 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
深入对Vue.js $watch方法的理解
2017/03/20 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
Vue props用法详解(小结)
2018/07/03 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
Js逆向实现滑动验证码图片还原的示例代码
2020/03/10 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
python使用PyV8执行javascript代码示例分享
2013/12/04 Python
Python计算已经过去多少个周末的方法
2015/07/25 Python
Python面向对象之继承代码详解
2018/01/29 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
解决pyttsx3无法封装的问题
2018/12/24 Python
Python socket实现多对多全双工通信的方法
2019/02/13 Python
python中的global关键字的使用方法
2019/08/20 Python
Python turtle绘画象棋棋盘
2019/08/21 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
工程概预算专业毕业生求职信
2013/10/04 职场文书
夜大自我鉴定
2013/10/31 职场文书
高中生学习生活的自我评价
2013/11/27 职场文书
医学生毕业自我鉴定
2014/03/26 职场文书
电影圆明园观后感
2015/06/03 职场文书
论语读书笔记
2015/06/26 职场文书
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS