1

Windows と Linux では、標準ダイアログの [キャンセル] ボタンと [OK] ボタンの順序が異なることに気付きました。Linux では「[CANCEL] [OK]」、Windows では「[OK] [CANCEL]」と表示されます。

標準のダイアログでは問題ありませんが、OS に応じて、同じ順序に一致するように「カスタム ダイアログ」を微調整する必要があります。

私の疑問:

1.- というクラスが存在するようwx.StdDialogButtonSizerですが、どのように使用すればよいかわかりません。誰かが簡単で実用的な例を投稿できますか?

そして「主な質問」:

2.- wxglade を使用してダイアログのコードを「ビルド」しているため、StdDialogBu​​ttonSizer を使用できるかどうかわかりません。ダイアログを特定の順序で定義し、実行時にボタンが正しい順序に従っているかどうかをチェックし、そうでない場合はこれらの 2 つのウィジェットを「交換」する方法はありますか?

ありがとう

4

1 に答える 1

5

StdDialogBu​​ttonSizer は、間違いなくカスタム ダイアログに使用する方法です。簡単な例を次に示します。

import wx

########################################################################
class SampleDialog(wx.Dialog):
    """"""

    #----------------------------------------------------------------------
    def __init__(self, parent):
        """Constructor"""
        wx.Dialog.__init__(self, parent, title="Tutorial")

        btnOk = wx.Button(self, wx.ID_OK)
        btnCancel = wx.Button(self, wx.ID_CANCEL)

        btnSizer = wx.StdDialogButtonSizer()
        btnSizer.AddButton(btnOk)
        btnSizer.AddButton(btnCancel)
        btnSizer.Realize()
        self.SetSizer(btnSizer)

#----------------------------------------------------------------------
if __name__ == '__main__':
    app = wx.App(False)
    dlg = SampleDialog(None)
    dlg.ShowModal()

WxPython: Ok/Cancel ボタンの順序に準拠するクロスプラットフォームの方法またはhttp://wxpython-users.1045709.n5.nabble.com/wx-StdDialogBu ​​ttonSizer-and-wx-ID-SAVE-td2360032.htmlも参照してください。

ただし、Glade でこれを行う方法があるかどうかはわかりません。

于 2011-07-14T13:46:28.653 に答える