wx Python 标签右对齐



我有一个标签,我希望右对齐,文本右对齐。 但是,当我的代码运行并且标签更新它时,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))

关于如何使标签安全保持固定在面板右侧的任何建议? 谢谢。

首先要注意:样式wx.TE_RIGHT是针对wx.TextCtrl的,它可能对静态文本没有任何作用。关于您的实际问题,您应该强制布局hbox14大小器。不确定窗口的尺寸/面板结构是什么,您应该在hbox14的某个祖先上调用Layout,它可能是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()

最新更新