2012-05-05 39 views
3

フォントサイズが変更できるTkinter(Python用)にテキストウィジェットを作成しようとしていますが、このときウィジェット自体のサイズを変更したくありません。ウィジェット内のテキストはすべて同じフォントスタイルです。私がこれまで持っている:私はボタンをクリックしたときに今、テキストは確かに大きな取得んTkinter Text Widgetのサイズをピクセル単位で指定しますか?

def change(): 
    txt.delete(1.0, END) 
    fnt.config(size=100) 
    txt.insert(END, "This is text!") 

が、全体のウィジェットは、それ自体のサイズを変更:

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は以下のように定義されている場合補償する!これは、ウィジェットのサイズがピクセルではなく、「線」と「文字」で指定されているためです。ウィジェットのサイズを変更しないようにするにはどうすればよいですか?

私はウィジェットのフォントを変更しようとしませんでしたが、新しいフォントを指定するタグを使ってテキストを挿入するだけでしたが、問題は左と右に新しいテキストを手動で入力するときです挿入されたテキストのうち、デフォルトスタイルであり、必要なサイズではありません。

答えて

4

私は、このページ上の私の質問への答えが見つかりました:キーは、テキストウィジェットを配置するフレームを構築するためにピクセル単位でフレームサイズを指定するには、とにフレームにgrid_propagate(False)を呼び出すことですHow to stop Tkinter Text widget resize on font change?

をテキストウィジェットのサイズを変更したいときにサイズ変更されないようにします。

関連する問題