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中pycurl库的用法实例
Sep 30 Python
Python爬虫DNS解析缓存方法实例分析
Jun 02 Python
Python中执行存储过程及获取存储过程返回值的方法
Oct 07 Python
基于Django的ModelForm组件(详解)
Dec 07 Python
django进阶之cookie和session的使用示例
Aug 17 Python
Pandas DataFrame 取一行数据会得到Series的方法
Nov 10 Python
python ---lambda匿名函数介绍
Mar 13 Python
Python3实现从排序数组中删除重复项算法分析
Apr 03 Python
python支付宝支付示例详解
Aug 22 Python
什么是python的列表推导式
May 26 Python
python中常见错误及解决方法
Jun 21 Python
python开发飞机大战游戏
Jul 15 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/12/30 PHP
php 地区分类排序算法
2013/07/01 PHP
php时间戳转换的示例
2014/03/31 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
canvas绘制表盘时钟
2017/01/23 Javascript
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
VUE DOM加载后执行自定义事件的方法
2018/09/07 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
vue开发环境配置跨域的方法步骤
2019/01/16 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
2020/12/02 Vue.js
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
python保存数据到本地文件的方法
2018/06/23 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
python 追踪except信息方式
2020/04/25 Python
您的网上新华书店:文轩网
2016/08/24 全球购物
Everlast官网:拳击、综合格斗和健身相关的体育用品
2020/08/03 全球购物
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
心得体会的写法
2014/09/05 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书
小程序后台PHP版本部署运行 LNMP+WNMP
2021/04/01 Servers