擅长:python、mysql、java
<p>不要使用文本的复选框,而是使用静态文本的无标签复选框来获得所需的效果</p>
<pre><code>import wx
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="Hello World", size=(300,200))
self.panel = wx.Panel(self, -1)
myVSizer = wx.BoxSizer(wx.VERTICAL)
# use checkbox + static text to wrap the text
myHSizer = wx.BoxSizer(wx.HORIZONTAL)
cb = wx.CheckBox(self.panel, -1, label="")
label = wx.StaticText(self.panel, label="This is a very very long label for 100 pixel wide cb!", size=(100,-1))
label.Wrap(100)
myHSizer.Add(cb, border=5, flag=wx.ALL)
myHSizer.Add(label, border=5, flag=wx.ALL)
myVSizer.Add(myHSizer)
self.panel.SetSizer(myVSizer)
myVSizer.Layout()
app = wx.App(redirect=True)
top = MyFrame()
top.Show()
app.MainLoop()
</code></pre>
<p>这增加了一个好处,即使用不同的布局,您可以使文本居中到复选框,或在左侧或右侧或任何其他位置</p>