これは簡単なようですが、これを行うための良い方法を見つけることができません。私が探しているのは、wxPythonフレームにあるより大きな複数行のTextCtrlウィジェットの中央に配置されたタイトルだけです。実際のTextCtrlプロパティでこれを行う方法はないようです。そのため、このStaticTextラベルを作成しようとしましたが、TextCtrlコントロールとうまく整列できないようです。現在、ButtonコントロールとStaticTextを備えた2つの異なるBoxSizer(wx.HORIZONTAL)にそれらがあります。たぶんそれは私がwxPythonでこれらを使ってできる最善のことですか?
2433 次
1 に答える
4
私は自分のコードで似たようなことをします。StaticTextをサイザーに追加するときに、「wx.ALIGN_CENTER_HORIZONTAL」フラグを設定したいと思います。これにより、StaticTextがセル内の中央に配置されます。TextCtrlでwx.EXPANDを設定することにより、これはサイザーの最大幅である必要があると言っているため、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 に答える