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是 for wx.TextCtrl,它可能对静态文本没有任何作用。关于您的真正问题,您应该强制设置尺寸器的布局hbox14。不确定你的窗口的 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()
于 2012-05-10T19:36:15.837 回答