Python 在使用wxglade创建的“自定义”对话框中确定/取消订单
我注意到,在Windows和Linux下,标准对话框中有一些按不同顺序排列的“取消”和“确定”按钮。在Linux下,您会得到[CANCEL][OK],在Windows下,您会得到[OK][CANCEL] 我对标准对话框没有问题,但是我的自定义对话框必须调整以匹配相同的顺序,这取决于O.S 我的疑问是: 1.-似乎存在一个名为wx.StdDialogButtonSizer的类,但我不确定该如何使用它。有人能发布一些简单的工作示例吗 主要问题是: 2.-我使用wxglade为对话框构建代码,所以我不确定是否可以使用StdDialogButtonSizer。有没有办法用给定的顺序定义对话框,并在运行时检查按钮是否遵循正确的顺序,如果没有,则交换这两个小部件Python 在使用wxglade创建的“自定义”对话框中确定/取消订单,python,wxpython,wxglade,Python,Wxpython,Wxglade,我注意到,在Windows和Linux下,标准对话框中有一些按不同顺序排列的“取消”和“确定”按钮。在Linux下,您会得到[CANCEL][OK],在Windows下,您会得到[OK][CANCEL] 我对标准对话框没有问题,但是我的自定义对话框必须调整以匹配相同的顺序,这取决于O.S 我的疑问是: 1.-似乎存在一个名为wx.StdDialogButtonSizer的类,但我不确定该如何使用它。有人能发布一些简单的工作示例吗 主要问题是: 2.-我使用wxglade为对话框构建代码,所以我不
谢谢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()
另见或
我不知道是否有办法在Glade中实现这一点。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()
另见或
不过,我不知道是否有办法在林间空地做到这一点。谢谢你的回答和例子。我的问题是,我用wxglade创建gui,但它似乎不支持添加StdDialogButtonSizer,至少我不知道怎么做。我将检查添加自定义小部件选项…大多数wxpython gui构建器(如glade)支持的可用控件子集非常有限。我发现生成与我需要的代码相似的代码,然后手工编辑,对我来说更容易。我同意Velocirapts。这绝对是一种方法。嗨@MikeDriscoll,我根据你的例子发现了这个问题。谢谢你的回答和例子。我的问题是,我用wxglade创建gui,但它似乎不支持添加StdDialogButtonSizer,至少我不知道怎么做。我将检查添加自定义小部件选项…大多数wxpython gui构建器(如glade)支持的可用控件子集非常有限。我发现生成与我需要的代码相似的代码,然后手工编辑,对我来说更容易。我同意Velocirapts。这绝对是一种方法。嗨@MikeDriscoll,我根据你的例子发现了这个问题