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