栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Tkinter中将窗口居中放置在屏幕上?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Tkinter中将窗口居中放置在屏幕上?

你可以尝试使用方法

winfo_screenwidth
winfo_screenheight
,你的分别返回的宽度和高度(以像素为单位)
Tk
实例(窗口),并与一些基本的数学可以居中你的窗口:

import tkinter as tkfrom PyQt4 import QtGui    # or PySidedef center(toplevel):    toplevel.update_idletasks()    # Tkinter way to find the screen resolution    # screen_width = toplevel.winfo_screenwidth()    # screen_height = toplevel.winfo_screenheight()    # PyQt way to find the screen resolution    app = QtGui.QApplication([])    screen_width = app.desktop().screenGeometry().width()    screen_height = app.desktop().screenGeometry().height()    size = tuple(int(_) for _ in toplevel.geometry().split('+')[0].split('x'))    x = screen_width/2 - size[0]/2    y = screen_height/2 - size[1]/2    toplevel.geometry("+%d+%d" % (x, y))    toplevel.title("Centered!")if __name__ == '__main__':    root = tk.Tk()    root.title("Not centered")    win = tk.Toplevel(root)    center(win)    root.mainloop()

update_idletasks
在检索窗口的宽度和高度之前先调用method,以确保返回的值是准确的。

Tkinter 看不到是否有2个或更多水平或垂直扩展的监视器。因此,您将获得所有屏幕的总分辨率,并且窗口将最终显示在屏幕中间的某个位置。

__另一方面, PyQt
也看不到多显示器环境,但是它将仅获得左上显示器的分辨率(想象一下4个显示器,2个向上和2个向下制作一个正方形)。因此,它通过将窗口置于该屏幕的中心来完成工作。如果您不想同时使用
PyQtTkinter ,则最好从一开始就使用PyQt。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659750.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号