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系列之数据处理编程实例(二)
May 22 Python
python关闭windows进程的方法
Apr 18 Python
Python编程中用close()方法关闭文件的教程
May 24 Python
python不换行之end=与逗号的意思及用途
Nov 21 Python
python实现冒泡排序算法的两种方法
Mar 10 Python
Python3 关于pycharm自动导入包快捷设置的方法
Jan 16 Python
对python中的装包与解包实例详解
Aug 24 Python
PyCharm2018 安装及破解方法实现步骤
Sep 09 Python
python程序 线程队列queue使用方法解析
Sep 23 Python
python手机号前7位归属地爬虫代码实例
Mar 31 Python
如何在C++中调用Python
May 21 Python
OpenCV绘制圆端矩形的示例代码
Aug 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
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
php命令行使用方法和命令行参数说明
2014/04/08 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
2019/09/10 PHP
调试php程序的简单步骤
2019/10/04 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
Javascript玩转继承(三)
2014/05/08 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
浅谈Node.js:Buffer模块
2016/12/05 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
select标签设置默认选中的选项方法
2018/03/02 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
讲解Python中的递归函数
2015/04/27 Python
Python简单获取自身外网IP的方法
2016/09/18 Python
浅谈五大Python Web框架
2017/03/20 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
python安装sklearn模块的方法详解
2020/11/28 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
毕业生大学生活自我总结
2014/01/31 职场文书
个人对照检查材料
2014/02/12 职场文书
2014元旦晚会策划方案
2014/02/19 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
2016年安全生产先进个人事迹材料
2016/02/29 职场文书
你会写请假条吗?
2019/06/26 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
JavaScript ES6的函数拓展
2022/01/18 Javascript