我正在尝试在 Tkinter(对于 Python)中创建一个文本小部件,其字体大小可以更改,但是当这种情况发生时,我不希望小部件自行调整大小。小部件中的所有文本都是相同的字体样式。到目前为止我得到了什么:
root = Tk()
t = Toplevel(root)
fnt = tkFont.Font(family="Helvetica",size=36,weight="bold",underline=1)
txt = Text(t, font=fnt, width=20, height=6)
txt.grid(row=0,column=0)
b = Button(t, text="click", command=change)
b.grid(row=1, column=0)
txt.insert(END, "This is text!")
其中change
定义为:
def change():
txt.delete(1.0, END)
fnt.config(size=100)
txt.insert(END, "This is text!")
现在,当我单击按钮时,文本确实变大了,但整个小部件会自行调整大小以进行补偿!我认为这是因为小部件的大小是根据“行”和“字符”而不是像素来指定的。如何阻止小部件调整大小?
我尝试不更改小部件的字体,而只是插入带有指定新字体的标签的文本,这是可行的,但问题是当我在插入文本的左侧和右侧手动键入新文本时,这是默认样式,不是我想要的尺寸。