wxglade创建的“自定义”对话框中的确定/取消顺序
我注意到,在Windows和Linux系统下,标准对话框里的取消和确定按钮的顺序不一样。在Linux上,按钮的顺序是"[CANCEL] [OK]",而在Windows上是"[OK] [CANCEL]"。
我对标准对话框没有问题,但我的“自定义对话框”需要调整按钮的顺序,以便与操作系统保持一致。
我有一些疑问:
1.- 似乎有一个叫做wx.StdDialogButtonSizer
的类,但我不太确定该怎么用。有没有人能提供一个简单的、可运行的示例?
还有一个“主要问题”:
2.- 我使用wxglade来“构建”对话框的代码,所以我不确定是否可以使用StdDialogButtonSizer。有没有办法在定义对话框时指定按钮的顺序,并在运行时检查按钮是否按照正确的顺序排列,如果没有的话,能否“交换”这两个按钮?
谢谢
1 个回答
5
StdDialogButtonSizer 是处理自定义对话框的最佳选择。下面是一个简单的例子:
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: 跨平台的确定/取消按钮顺序 或者 http://wxpython-users.1045709.n5.nabble.com/wx-StdDialogButtonSizer-and-wx-ID-SAVE-td2360032.html
不过,我不太确定在 Glade 中是否有办法做到这一点。