Tkinter文字调整大小

时间:2017-07-24 02:36:34

标签: python python-3.x tkinter

这是我第一次在这里问一个问题,我已经尽力避免它,直到这一点,但我已经到了一堵墙,我觉得我已经探索了所有的途径谷歌搜索和阅读。

我在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()

我可能已经做了一些时髦的事情。任何帮助是极大的赞赏。我将回答任何人可能提出的任何后续问题。

2 个答案:

答案 0 :(得分:0)

为了让文本动态调整大小,不幸的是,每次都必须重新绘制文本。

根据开头的文字小,增加你的尺寸。现在你把它设置为10,标签也很小。增加这一点(不出所料)会增加字体大小。

答案 1 :(得分:0)

我知道这个问题指的是调整字体大小,但是我偶然发现它在寻找一种调整文本小部件大小的方法。也许这对某人有用。阅读tcl文档后,我发现您可以像下面这样使用expand和fill填充几何管理器:

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

根据需要将其应用于父母和孩子。