Python写的Tkinter程序屏幕居中方法

yipeiwu_com6年前Python基础

本文适用场景:想用Tkinter开发界面程序并屏幕居中,但没找到相应的API。

这两天玩了玩Tkinter,感觉不错,就是屏幕居中这个问题在网上搜了很长时间也没
找到答案,最后没办法,看它的文档,用自己的方法实现了。

方法很土,就是获取初始化的窗体大小和屏幕大小,再通过计算得到大体值。
以下是代码:

复制代码 代码如下:

#! /usr/bin/python
'''
  File      : screenCenter.pyw
  Author    : Mike
  E-Mail    : Mike_Zhang@live.com
'''
from Tkinter import *

rt = Tk()
rt.resizable(False,False)
rt.title("Screen center")

rt.update() # update window ,must do
curWidth = rt.winfo_reqwidth() # get current width
curHeight = rt.winfo_height() # get current height
scnWidth,scnHeight = rt.maxsize() # get screen width and height
# now generate configuration information
tmpcnf = '%dx%d+%d+%d'%(curWidth,curHeight,
(scnWidth-curWidth)/2,(scnHeight-curHeight)/2)
rt.geometry(tmpcnf)
rt.mainloop()

好,就这些了,希望对你有帮助。

相关文章

Python编程中实现迭代器的一些技巧小结

yield实现迭代器 如引言中的描述,实现一个可迭代的功能要是每次都手动实现iter,next稍稍有点麻烦,所需的代码也是比较客观。在python中也能通过借助yield的方式来实现一个...

Python 互换字典的键值对实例

1.zip dic = {'a':1, 'b':2, 'c':3} dic_new = dict(zip(dic.values(), dic.keys())) print(dic_n...

使用SAE部署Python运行环境的教程

因为 GAE 在国内访问不便,所以平时有一些小应用,我都会放在 SAE 上面, 虽然 SAE 还有很多缺陷,但算是上手比较容易的一个了,最起码文档写的不错。 开发 SAE 上的应用,我一...

在python中使用正则表达式查找可嵌套字符串组

在网上看到一个小需求,需要用正则表达式来处理。原需求如下: 找出文本中包含”因为……所以”的句子,并以两个词为中心对齐输出前后3个字,中间全输出,如果“因为”和“所以”中间还存在“因为”...

python 下 CMake 安装配置 OPENCV 4.1.1的方法

python 下 CMake 安装配置 OPENCV 4.1.1的方法

CMake 安装配置 OPENCV 4.1.1 解决各种问题 方法一 python 可以直接pip install opencv-contrib-python==3.4.x.x 安装,老...