2017-11-16 7 views
0

Tkinter LabelFrameウィジェットのラベルを更新したいとします。Tkinter(またはttk)にtextvariableを使用するLabelFrame

Labelウィジェットの場合、textvariable属性を使用してこれを行うことができます。これにStringVarを割り当てることができます。

私は同じことをしたい、しかしLabelFrame

self.labelText = StringVar() 
self.selectionFrame = ttk.LabelFrame(self, textvariable=self.labelText) 

(...) 

if A: 
    self.labelText.set("LabelA") 
elif B: 
    self.labelText.set("LabelB") 

のためにどのように私はこれを達成することができますか?

答えて

2

できません。 Tkinter LabelFrameもttk LabelFrameも、変数をウィジェットに関連付けることはできません。ラベルを変更する方法は何かあなたが本当に求めている、そして、あなたがconfigureメソッドを使用できる場合

は: - 供給するlabelwidget属性を使用して

self.selectionFrame.configure(text="hello") 
+0

ありがとう、ブライアン - これは間違いなくより直接的なアプローチです。 StringVarを別々に格納する必要はありません。 レコードの場合、私のコードexapleの解決策は次のようになります: 'self.selectionFrame.configure(text =" hello ")' – SideLobe

0

は、私は解決策のいくつかの種類を発見しました基礎となるStringVarを使用していますLabelオブジェクト別々:

self.labelText = StringVar() 
self.labelWidget = Label(self, textvariable=self.labelText) 
self.selectionFrame = ttk.LabelFrame(self, labelwidget=self.labelWidget) 

この方法で、私はLabelFrame

のラベルを変更する labelTextを更新することができます
self.labelText.set("New Label")