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

发布于 2024-11-23 15:52:02 字数 435 浏览 3 评论 0原文

我注意到,在 Windows 和 Linux 下,标准对话框中的一些“取消”和“确定”按钮的顺序不同。在 Linux 下,您会得到“[CANCEL] [OK]”,而在 Windows 下,则会得到“[OK] [CANCEL]”。

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

我的疑问:

1.-似乎存在一个名为 wx.StdDialogBu​​ttonSizer 的类code>,但我不确定应该如何使用它。有人可以发布任何工作简单/工作示例吗?

和“主要问题”:

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

谢谢

I've noticed that standard dialogs some CANCEL and OK buttons in different order under Windows and under Linux. Under Linux, you get "[CANCEL] [OK]", and under Windows, "[OK] [CANCEL]".

I have no problem with the standard dialogs, but then my "custom dialogs" must be tweaked to match the same order, dependent of the O.S.

My doubts:

1.- It seems to exist a class called wx.StdDialogButtonSizer, but I'm not sure how it should be used. Can somebody post any working simple / working example?

And the "Main question":

2.- I use wxglade to "build" code for the dialogs, so I'm not sure I can use StdDialogButtonSizer. Is there a way to define the dialog with a given order, and in run-time check if the buttons follow the right order and "exchange" those two widgets if not?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

粉红×色少女 2024-11-30 15:52:02

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()

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

我不知道是否有办法做到这一点不管是不是在林间空地。

The StdDialogButtonSizer is definitely the way to go for custom dialogs. Here's a simple example:

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()

See also WxPython: Cross-Platform Way to Conform Ok/Cancel Button Order or http://wxpython-users.1045709.n5.nabble.com/wx-StdDialogButtonSizer-and-wx-ID-SAVE-td2360032.html

I don't know if there's a way to do this in Glade or not though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文