2

これは簡単なようですが、これを行うための良い方法を見つけることができません。私が探しているのは、wxPythonフレームにあるより大きな複数行のTextCtrlウィジェットの中央に配置されたタイトルだけです。実際のTextCtrlプロパティでこれを行う方法はないようです。そのため、このStaticTextラベルを作成しようとしましたが、TextCtrlコントロールとうまく整列できないようです。現在、ButtonコントロールとStaticTextを備えた2つの異なるBoxSizer(wx.HORIZONTAL)にそれらがあります。たぶんそれは私がwxPythonでこれらを使ってできる最善のことですか?

4

1 に答える 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 に答える