0

右揃えにしたいラベルとテキストを右揃えにします。しかし、コードが実行されてラベルが更新されると、StaticTextはボタンオブジェクトの左側に配置されます。私のコードは以下の通りです

hbox14 = wx.BoxSizer(wx.HORIZONTAL)
self.buttonRemove = wx.Button(self.panel,label='Remove')
self.buttonRemove.Bind(wx.EVT_BUTTON,self.removeAccount) # Remove account from list
self.labelSecTic = wx.StaticText(self.panel,label='0.0',style=wx.TE_RIGHT|wx.EXPAND)
self.labelSecTic.SetForegroundColour('white')
self.labelSecTic.SetBackgroundColour('black')
hbox14.Add(self.buttonRemove,proportion=0)
hbox14.Add(self.labelSecTic,proportion=1,flag=wx.ALIGN_RIGHT|wx.TE_RIGHT|wx.EXPAND)

ラベルが更新されたら、私は電話します

self.gui.labelSecTic.SetLabel(str(self.diff))

labelSecTicをパネルの右側に固定する方法に関する提案はありますか?ありがとう。

4

1 に答える 1

1

最初の補足:スタイルwx.TE_RIGHTはのためwx.TextCtrlのものであり、おそらく静的テキストには何もしません。実際の問題については、hbox14サイザーのレイアウトを強制する必要があります。ウィンドウのサイザー/パネル構造がわからない場合は、Layoutの祖先を呼び出す必要があります。たとえば、次のようになります。hbox14self.gui.panelself.guigui

self.gui.labelSecTic.SetLabel(str(self.diff))
self.gui.Layout()

また

self.gui.labelSecTic.SetLabel(str(self.diff))
self.gui.panel.Layout()
于 2012-05-10T19:36:15.837 に答える