python怎么设置窗口大小_python – 如何找出所需的窗口大小?
我有一個(gè)包含標(biāo)簽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()
我想將窗口的大小設(shè)置為固定寬度.這個(gè)寬度應(yīng)該是w可以獲得的最長(zhǎng)文本所需的寬度.我怎樣才能最輕松地做到這一點(diǎn)?我是否必須遍歷所有可能的文本,讀取相應(yīng)的窗口寬度并將最終寬度設(shè)置為這些值的最大值?如果這是最好的方法,如何在屏幕上沒有窗口的情況下執(zhí)行此操作?
解決方法:
如果你不循環(huán)使用它們,你怎么知道最大文本的大小?唯一的可能是早先知道每個(gè)的大小,但是你已經(jīng)解決了問(wèn)題.因此,您只需設(shè)置標(biāo)簽并檢查窗口所需的寬度,然后檢查此寬度是否大于當(dāng)前最大值,并在需要時(shí)更新它.如果窗口恰好在此過(guò)程中顯示,您可以調(diào)用withdraw,執(zhí)行所需的一切,然后調(diào)用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()
標(biāo)簽:python,tkinter
總結(jié)
以上是生活随笔為你收集整理的python怎么设置窗口大小_python – 如何找出所需的窗口大小?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ZZULIOJ 1800 少水群多刷题
- 下一篇: python数字精度自动变化_如何在py