python – 如何找出所需的窗口大小?
发布时间:2020-12-20 13:33:02 所属栏目:Python 来源:网络整理
导读:我有一个包含标签w的窗口,其文本可以是给定种类中的任何一种(在本例中为“Hello World
我有一个包含标签w的窗口,其文本可以是给定种类中的任何一种(在本例中为“Hello World!”一次,两次和三次):
from Tkinter import * import time root = Tk() text = "Hello,World! " w = Label(root) for i in range(1,4): w["text"] = text*i w.update_idletasks() w.grid() w.update_idletasks() time.sleep(1) root.mainloop() 我想将窗口的大小设置为固定宽度.这个宽度应该是w可以获得的最长文本所需的宽度.我怎样才能最轻松地做到这一点?我是否必须遍历所有可能的文本,读取相应的窗口宽度并将最终宽度设置为这些值的最大值?如果这是最好的方法,如何在屏幕上没有窗口的情况下执行此操作? 解决方法
如果你不循环使用它们,你怎么知道最大文本的大小?唯一的可能是早先知道每个的大小,但是你已经解决了问题.因此,您只需设置标签并检查窗口所需的宽度,然后检查此宽度是否大于当前最大值,并在需要时更新它.如果窗口恰好在此过程中显示,您可以调用withdraw,执行所需的一切,然后调用deiconify.
import time import random import Tkinter root = Tkinter.Tk() root.withdraw() text = "Hello,World! " w = Tkinter.Label() w.grid() maxwidth = 0 for _ in range(10): i = random.randint(1,5) w["text"] = text*i print i w.update_idletasks() maxwidth = max(maxwidth,root.winfo_reqwidth()) root.wm_minsize(maxwidth,root.winfo_reqheight()) root.wm_maxsize(maxwidth,int(1e6)) root.deiconify() root.mainloop() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |