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里对list中的整数求平均并排序
Sep 12 Python
Python实现字典的key和values的交换
Aug 04 Python
Python给你的头像加上圣诞帽
Jan 04 Python
Python三种遍历文件目录的方法实例代码
Jan 19 Python
python中字符串的操作方法大全
Jun 03 Python
python实现批量解析邮件并下载附件
Jun 19 Python
用Python实现大文本文件切割的方法
Jan 12 Python
django模板加载静态文件的方法步骤
Mar 01 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
postman传递当前时间戳实例详解
Sep 14 Python
Python socket模块ftp传输文件过程解析
Nov 05 Python
单身狗福利?Python爬取某婚恋网征婚数据
Jun 03 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无限分类代码,支持数组格式化、直接输出菜单两种方式
2011/05/18 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
jquery获取节点名称
2015/04/26 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
用Vue写一个分页器的示例代码
2018/04/22 Javascript
小程序绑定用户方案优化小结
2019/05/15 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
在IPython中执行Python程序文件的示例
2018/11/01 Python
python调用java的jar包方法
2018/12/15 Python
Python读写文件基础知识点
2019/06/10 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
python3调用windows dos命令的例子
2019/08/14 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
python爬取天气数据的实例详解
2020/11/20 Python
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
美国最大的半成品净菜电商:Blue Apron(蓝围裙)
2018/04/27 全球购物
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
团委竞选演讲稿
2014/04/24 职场文书
读书之星事迹材料
2014/05/12 职场文书
个人安全生产承诺书
2014/05/22 职场文书
2014领导班子“四风问题”对照检查材料思想汇报(执法局)
2014/09/21 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
退休教师欢送会致辞
2015/07/31 职场文书
小学信息技术教学反思
2016/02/16 职场文书
MySQL索引篇之千万级数据实战测试
2021/04/05 MySQL
详解nodejs内置模块
2021/05/06 NodeJs
浅谈克隆 JavaScript
2021/11/02 Javascript
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android