Tkinter 文本框大小调整

3
这是我第一次在这里提问,我尽力避免这样做,但我已经到达了一个墙壁,在那里我感觉我已经探索了所有谷歌搜索和阅读的途径。
我正在使用Python中的tkinter库。我的目标是每秒钟都有一个窗口实例化并刷新新文本。我的代码问题在于文本(很可能默认)非常小。我希望文本始终适合窗口。此外,当用户调整窗口大小时,我希望文本大小可以增长或缩小(仍然适合)。这是我目前的tkinter代码:
import tkinter as tk
try:
    import tkFont
except:
    from tkinter import font as tkFont


class display(tk.Tk):
    def __init__(self):    
        tk.Tk.__init__(self)
        self.font = tkFont.Font(size = 10)
        self.label = tk.Label(self, width=10, height=10)
        self.label.pack()
        self.update()


    def update(self):
        self.label.configure(font = self.font, text="I want some font right here")
        self.font = tkFont.Font(size = (-1 * round(self.winfo_height() - 100)))
        self.after(1000, self.update)


if __name__ == '__main__':
    root = display()
    root.mainloop()

我可能已经在做一些奇怪的事情了。非常感谢您的帮助。我会回答任何人可能有的后续问题。


这个有帮助吗?https://stackoverflow.com/q/28883687/7432 - Bryan Oakley
1个回答

0

我知道这个问题是关于调整字体大小的,但是我在寻找一种方法来调整Text小部件的大小时偶然发现了它。也许对某人有用。在阅读了tcl文档之后,我发现你可以在几何管理器中使用expand和fill来实现:

somewidget.pack(expand=YES, fill=BOTH) 

如果需要的话,将同样的内容应用于父级和子级。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接