我注意到,在Windows和Linux下,标准对话框中的一些取消和确定按钮的顺序不同。在Linux下,你会看到"CANCEL",在Windows上,你会看到"OK“。
我对标准对话框没有问题,但是我的“自定义对话框”必须根据操作系统的不同进行调整,以匹配相同的顺序。
我的疑问是:
1.-它似乎存在一个名为wx.StdDialogButtonSizer的类,但我不确定应该如何使用它。有没有人能贴出一些简单有效的例子?
和“主要问题”:
2.-我使用wxglade为对话框“构建”代码,所以我不确定是否可以使用StdDialogButtonSizer。有没有一种方法可以定义具有给定顺序的对话框,并在运行时检查按钮是否遵循正确的顺序,如果不是,则“交换”这两个小部件?
谢谢
发布于 2011-07-14 21:46:29
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: Cross-Platform Way to Conform Ok/Cancel Button Order或http://wxpython-users.1045709.n5.nabble.com/wx-StdDialogButtonSizer-and-wx-ID-SAVE-td2360032.html
我不知道在Glade中有没有办法做到这一点。
https://stackoverflow.com/questions/6693660
复制相似问题