wx Python Label Right Align

时间:2012-05-10 18:56:53

标签: python label wxwidgets

我有一个标签,我想要对齐,文字要对齐。但是当我的代码运行并且标签更新它时,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保持固定在面板右侧的任何建议?感谢。

1 个答案:

答案 0 :(得分:1)

首先注意:样式wx.TE_RIGHT适用于wx.TextCtrl,它可能与静态文本无关。关于您的真正问题,您应该强制hbox14 sizer的布局。不确定窗口的sizer / panel结构是什么,你应该在Layout的某个祖先上调用hbox14,它可能是self.gui.panel甚至self.gui(不要知道gui是什么),例如:

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

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