wxPython的wx.TextCtrl控件如何控制文本上下居中?

是垂直居中,水平居中用wx.TE_CENTER控制就可以了,这个我知道。

另外是希望文本在TextCtrl中垂直居中,不是让TextCtrl在Sizer或Frame中居中。

参考测试代码:

import wx
app = wx.App()
frm = wx.Frame(None)
txt = wx.TextCtrl(frm, -1, '如何垂直居中文本?', style=wx.TE_CENTER)  # | wx.ALIGN_CENTER_VERTICAL
frm.Show()
app.MainLoop()

wx.ALIGN_CENTER_VERTIAL 垂直居中对齐
wx.ALIGN_CENTER_HORIZONTAL 水平居中对齐

使用wx
创建StaticText时候 style=wx.ALIGN_CENTER,将StaticText添加到当前行的时候flag=wx.ALIGN_CENTER_VERTICAL即可,例如:

static_text_mode = wx.StaticText(self, label='操作模式:', style=wx.ALIGN_CENTER)
h_box.Add(static_text_mode, proportion=1, flag=wx.ALIGN_CENTER_VERTICAL)