在用wxglad创建的“自定义”对话框中确定/取消订单

2024-10-01 07:11:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我注意到在Windows和Linux下,标准对话框中的CANCEL和OK按钮的顺序不同。在Linux下,您得到“[CANCEL][OK]”,在Windows下,“[OK][CANCEL]”。在

我对标准对话框没有问题,但是我的“自定义对话框”必须根据操作系统的不同调整以匹配相同的顺序

我的怀疑:

1.-它似乎存在一个名为wx.StdDialogButtonSizer的类,但我不确定应该如何使用它。有人能发布一些简单的例子吗?在

以及“主要问题”:

2.-我使用wxglade为对话框“构建”代码,所以我不确定是否可以使用StdDialogButtonSizer。有没有一种方法可以用给定的顺序定义对话框,并在运行时检查按钮是否遵循正确的顺序,如果没有,则“交换”这两个小部件?在

谢谢


Tags: 方法代码标准定义顺序linuxwindowsok
1条回答
网友
1楼 · 发布于 2024-10-01 07:11:53

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 Orderhttp://wxpython-users.1045709.n5.nabble.com/wx-StdDialogButtonSizer-and-wx-ID-SAVE-td2360032.html

我不知道有没有办法在空地上做到这一点。在

相关问题 更多 >