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!")
ボタンをクリックすると、テキストは実際に大きくなりますが、ウィジェット全体のサイズが変更されて補正されます。これは、ウィジェットのサイズがピクセルではなく「線」と「文字」で指定されているためだと思います。ウィジェットのサイズ変更を停止するにはどうすればよいですか?
ウィジェットのフォントを変更せずに、新しいフォントを指定するタグを付けてテキストを挿入しようとしましたが、これは機能しますが、挿入されたテキストの左右に新しいテキストを手動で入力すると問題が発生します、これはデフォルトのスタイルであり、必要なサイズではありません。