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人人网登录应用实例
Sep 26 Python
python通过正则查找微博@(at)用户的方法
Mar 13 Python
python通过pil将图片转换成黑白效果的方法
Mar 16 Python
python进行TCP端口扫描的实现
Dec 21 Python
Python 中包/模块的 `import` 操作代码
Apr 22 Python
Django 全局的static和templates的使用详解
Jul 19 Python
python实现发送form-data数据的方法详解
Sep 27 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
django 多数据库及分库实现方式
Apr 01 Python
python 删除系统中的文件(按时间,大小,扩展名)
Nov 19 Python
Python实现PS滤镜中的USM锐化效果
Dec 04 Python
python 利用 PIL 将数组值转成图片的实现
Apr 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发送post请求函数分享
2014/03/06 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
Jquery节点遍历next与nextAll方法使用示例
2014/07/22 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
使用vue-cli编写vue插件的方法
2018/02/26 Javascript
详解jQuery中的easyui
2018/09/02 jQuery
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
js+canvas实现简单扫雷小游戏
2021/01/22 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
[47:45]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第一场 2月26日
2021/03/11 DOTA
Python argv用法详解
2016/01/08 Python
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
详解python之配置日志的几种方式
2017/05/22 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
数据清洗--DataFrame中的空值处理方法
2018/07/03 Python
python实现停车管理系统
2018/11/30 Python
python中的print()输出
2019/04/12 Python
Python之Class&Object用法详解
2019/12/25 Python
python实现测试工具(一)——命令行发送get请求
2020/10/19 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
法学专业大学生实习自我鉴定
2014/10/05 职场文书
总经理岗位职责
2015/02/04 职场文书
实习证明模板
2015/06/16 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python
公历12个月名称的由来
2022/04/12 杂记