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赋值操作方法分享
Mar 23 Python
python实现通过代理服务器访问远程url的方法
Apr 29 Python
小议Python中自定义函数的可变参数的使用及注意点
Jun 21 Python
python获取list下标及其值的简单方法
Sep 12 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 Python
python查看列的唯一值方法
Jul 17 Python
详解Python匿名函数(lambda函数)
Apr 19 Python
Python 实现自动导入缺失的库
Oct 29 Python
Python 面向对象部分知识点小结
Mar 09 Python
python中tkinter窗口位置\坐标\大小等实现示例
Jul 09 Python
Pycharm导入anaconda环境的教程图解
Jul 31 Python
Django+Celery实现定时任务的示例
Jun 23 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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
php feof用来识别文件末尾字符的方法
2010/08/01 PHP
php常用Output和ptions/Info函数集介绍
2013/06/19 PHP
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
php简单分页类实现方法
2015/02/26 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
PhpSpreadsheet设置单元格常用操作汇总
2020/11/13 PHP
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
js中用cssText设置css样式的简单方法
2016/09/19 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
基于JavaScript实现百度搜索框效果
2020/06/28 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
2017/11/02 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
Python批量重命名同一文件夹下文件的方法
2015/05/25 Python
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
python3读取csv文件任意行列代码实例
2020/01/13 Python
Django数据库操作之save与update的使用
2020/04/01 Python
jupyter notebook 多行输出实例
2020/04/09 Python
如何避免常见的6种HTML5错误用法
2017/11/06 HTML / CSS
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
大三学生入党思想汇报
2014/01/02 职场文书
元旦晚会邀请函
2014/01/27 职场文书
北京英语导游词
2015/02/12 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书
浅析Python实现DFA算法
2021/06/26 Python
Java数据开发辅助工具Docker与普通程序使用方法
2021/09/15 Java/Android