如何使wx.TextCtrl居中?
我在wx.TextCtrl中居中显示文本时遇到了困难(如下图所示)。——不知为什么,它总是左对齐,而不是居中对齐。
有人能告诉我正确的“样式”吗?或者说说我哪里做错了?
import wx
class SimplePanel(wx.Panel):
def __init__(self, parent, id):
wx.Panel.__init__(self, parent, id, style=wx.BORDER_SUNKEN)
myTextCtrl = wx.TextCtrl(self, -1,
style=wx.TE_CENTRE,
size=(100, -1), pos=(10, 10))
if __name__ == '__main__':
app = wx.App()
frame = wx.Frame(None, -1, 'Simple Panel')
myPanel = SimplePanel(frame, -1)
frame.Show()
app.MainLoop()
2 个回答
1
(经过澄清后编辑)
之前在wxPython中出现过一个错误,这个错误导致某些操作系统的TE_CENTRE功能不能正常工作:
http://wxpython-users.1045709.n5.nabble.com/ANN-wxPython-2-8-9-1-td2367679.html
你可以试着更新到最新版本,也许能解决问题。
2
在Windows上这个功能看起来没问题,但我在开发时同时使用了OSX和Windows,发现wx.TE_CENTRE
在OSX上似乎不起作用。这个问题早在很多年前就被报告过了,具体可以查看这个链接:http://trac.wxwidgets.org/ticket/10010。