这是我第一次在这里问一个问题,我已经尽力避免它,直到这一点,但我已经到了一堵墙,我觉得我已经探索了所有的途径谷歌搜索和阅读。
我在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()
我可能已经做了一些时髦的事情。任何帮助是极大的赞赏。我将回答任何人可能提出的任何后续问题。
答案 0 :(得分:0)
为了让文本动态调整大小,不幸的是,每次都必须重新绘制文本。
根据开头的文字小,增加你的尺寸。现在你把它设置为10,标签也很小。增加这一点(不出所料)会增加字体大小。
答案 1 :(得分:0)
我知道这个问题指的是调整字体大小,但是我偶然发现它在寻找一种调整文本小部件大小的方法。也许这对某人有用。阅读tcl文档后,我发现您可以像下面这样使用expand和fill填充几何管理器:
somewidget.pack(expand=YES, fill=BOTH)
根据需要将其应用于父母和孩子。