WxPython:跨平台调整确定/取消按钮顺序的方法
我正在学习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。在不同的平台上,你可能会看到布局上的差异,但你并不一定要使用这个方法。