使用wxglade创建的"自定义"对话框中的OK/CANCEL顺序

sro*_*ero 1 python wxpython wxglade

我注意到标准对话框在Windows和Linux下以不同的顺序显示了一些CANCEL和OK按钮.在Linux下,你会得到"[CANCEL] [OK]",在Windows下,"[OK] [CANCEL]".

我对标准对话框没有问题,但是我的"自定义对话框"必须调整以匹配相同的顺序,这取决于操作系统

我的疑惑:

1.-它似乎存在一个叫做的类wx.StdDialogButtonSizer,但我不确定它应该如何使用.有人可以发布任何工作简单/工作的例子吗?

而"主要问题":

2.-我使用wxglade来"构建"对话框的代码,所以我不确定我是否可以使用StdDialogBu​​ttonSizer.有没有办法用给定的顺序定义对话框,并在运行时检查按钮是否遵循正确的顺序并"交换"这两个小部件,如果没有?

谢谢

Mik*_*oll 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()
Run Code Online (Sandbox Code Playgroud)

另请参阅WxPython:符合Ok/Cancel按钮顺序的跨平台方式http://wxpython-users.1045709.n5.nabble.com/wx-StdDialogBu​​ttonSizer-and-wx-ID-SAVE-td2360032.html

我不知道是否有办法在Glade中做到这一点.