python tkinter界面居中显示的方法

yipeiwu_com5年前Python基础

由于tkinter没有直接提供居中显示的api,因此,要想将tk的对话框居中显示,需要用到tk自带的设定位置的方法geometry()

nScreenWid, nScreenHei = tkLogin.maxsize()
nCurWid = tkLogin.winfo_reqwidth()
nCurHeight = tkLogin.winfo_reqheight()
tkLogin.geometry("{}x{}+{}+{}".format(nCurWid, nCurHeight, nScreenWid/2 - nCurWid/2, nScreenHei/2 - nCurHeight/2))

通过maxsize()方法获得显示器的分辨率,再通过winfo_reqwidth/height()方法获取当前对话框的大小。

这里需要注意的是,winfo_width和winfo_reqwidth的区别,前者是当前窗口大小,不一定是原定大小,如果此窗口还未开始mainloop,那么返回值会为0。因此,要在创建时居中显示,那么得用winfo_reqwidth,即取得窗口应该有的大小。

最后,用geometry()来设定窗口大小和显示的位置。

以上这篇python tkinter界面居中显示的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django Celery异步任务队列的实现

背景 在开发中,我们常常会遇到一些耗时任务,举个例子: 上传并解析一个 1w 条数据的 Excel 文件,最后持久化至数据库。 在我的程序中,这个任务耗时大约 6s,对于用户来说,...

python和ruby,我选谁?

最近在考虑学习一门后端语言,在ruby和python直接犹豫,然后自己做了一些对比,希望能帮到有同样问题的你。 一、异同对比选择 1、Python和ruby的相同点: •都强...

python 多进程共享全局变量之Manager()详解

Manager支持的类型有 list,dict,Namespace,Lock,RLock,Semaphore,BoundedSemaphore,Condition,Event,Queue...

Python中的高级数据结构详解

Python中的高级数据结构详解

数据结构   数据结构的概念很好理解,就是用来将数据组织在一起的结构。换句话说,数据结构是用来存储一系列关联数据的东西。在Python中有四种内建的数据结构,分别是List、Tuple、...

Python中函数的参数传递与可变长参数介绍

Python中函数的参数传递与可变长参数介绍

1.Python中也有像C++一样的默认缺省函数 复制代码 代码如下: def foo(text,num=0):     print text,num fo...