WxPython:跨平台调整确定/取消按钮顺序的方法

2 投票
4 回答
1150 浏览
提问于 2025-04-15 11:23

我正在学习wxPython,所以大部分库和类对我来说都是新的。

我正在创建一个设置对话框的类,但不知道怎么才能确保“确定/取消”(或者“保存/关闭”)按钮在不同平台上是正确的顺序。这个程序打算在GNOME和Windows上运行,所以我想确保每个平台上的按钮顺序都是对的。

wxPython有没有提供什么功能,可以让我避免使用那种if platform.system() == 'Linux'的方式呢?

4 个回答

0

如果你打算使用wx(或者其他跨平台的工具包),你最好相信它会做对的事情,伙计!

2

你可以使用一个叫做 StdDialogButtonSizer 的东西。

http://www.wxpython.org/docs/api/wx.StdDialogButtonSizer-class.html

只要你的按钮使用了标准的 ID,它们就会按照正确的顺序排列。

不过要注意,在 Mac 系统上,设置偏好选项的对话框通常不会有“确定”或“取消”按钮。它会在你输入偏好设置时自动应用这些设置(或者至少在对话框关闭时应用)。所以在这种情况下,你还是需要检查一下平台的不同。

4

对话框的外观只有在使用系统自带的对话框(比如 wx.FileDialog)时才会有所不同。如果你自己制作对话框,那么在不同的平台上,它的布局会保持一致。

wx.Dialog 有一个叫 CreateStdDialogButtonSizer 的方法,这个方法可以创建一个带有标准按钮的 wx.StdDialogButtonSizer。在不同的平台上,你可能会看到布局上的差异,但你并不一定要使用这个方法。

撰写回答