2

似乎这很简单,但我找不到这样做的好方法。我正在寻找的只是为我在 wxPython 框架中拥有的更大的多行 TextCtrl 小部件提供一个很好的居中标题。似乎没有办法用实际的 TextCtrl 属性来做到这一点。所以我试图做这个 StaticText 标签,但我似乎无法很好地与 TextCtrl 控件对齐。现在,我将它们放在两个不同的 BoxSizer(wx.HORIZONTAL) 中,带有 Button 控件和 StaticText。也许这是我在 wxPython 中能做的最好的事情?

4

1 回答 1

4

我在我的代码中做了类似的事情。我认为您想在将 StaticText 添加到 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)

...
于 2012-05-13T02:35:45.700 回答