似乎这很简单,但我找不到一个很好的方法来做到这一点。所有我正在寻找的是一个很好的居中标题,我在wxPython框架中有一个更大的多行TextCtrl小部件。似乎没有办法用实际的TextCtrl属性来做到这一点。所以我试图做这个StaticText标签,但我似乎无法与TextCtrl控件很好地对齐。现在我将它们放在两个不同的BoxSizer(wx.HORIZONTAL)中,带有Button控件和StaticText。也许这是我在wxPython中能做的最好的事情?
答案 0 :(得分:4)
我在代码中做了类似的事情。我想在将静态文本添加到sizer时设置“wx.ALIGN_CENTER_HORIZONTAL”标志。这会将StaticText置于其单元格的中心。通过在TextCtrl上设置wx.EXPAND,我们说它应该是sizer的最大宽度,因此StaticText将相对于TextCtrl居中。
import wx
ID_SUBMIT = wx.NewId()
...
sizer = wx.BoxSizer(wx.VERTICAL)
centeredLabel = wx.StaticText(self, -1, 'Centered Label')
sizer.Add(centeredLabel, flag=wx.ALIGN_CENTER_HORIZONTAL)
mlTextCtrl = wx.TextCtrl(self, style = wx.TE_MULTILINE)
sizer.Add(mlTextCtrl, flag=wx.EXPAND)
submitButton = wx.Button(self, ID_SUBMIT,'Submit')
sizer.Add(submitButton, flag=wx.ALIGN_RIGHT)
...