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

我正在创建一个首选项对话框类,但不知道确保“确定”/“取消”(或“保存/关闭”)按钮在平台上的顺序正确的最佳方法。该程序旨在在 GNOME 和 Windows 上运行,因此我想确保每个平台的按钮顺序正确。

wxPython 是否提供了阻止我执行以下操作的功能 if platform.system() == 'Linux' 一种黑客行为?

有帮助吗?

解决方案

仅当您使用常用对话框(如 wx.FileDialog)时,对话框的外观才能更改,如果您自己制作对话框,则布局将在每个平台上保持不变。

wx.Dialog 有一个 CreateStdDialogBu​​ttonSizer 方法,它创建一个带有标准按钮的 wx.StdDialogBu​​ttonSizer ,您可能会在不同平台上看到布局的差异,但您不必使用它。

其他提示

您可以使用 StdDialogBu​​ttonSizer

http://www.wxpython.org/docs/api/wx.StdDialogBu​​ttonSizer-class.html

只要您的按钮具有标准 ID,它们就会按正确的顺序放置。

只是要添加一个问题,例如在 Mac 上,首选项对话框不会有“确定”/“取消”按钮。它会在输入时自动应用首选项(或至少在对话框关闭时)。所以在这种情况下你仍然需要进行一些平台嗅探。

如果您打算使用wx(或任何其他x平台工具包),您最好相信它能做正确的事,mon! - )

GenericMessageDialog小部件应该根据平台做正确的事情(但我从未使用它,所以我不确定它是否这样做)。请参阅wxPython演示。

您还可以使用SizedControls插件库(它是wxPython的一部分)。 SizedDialog类有助于创建符合每个平台的人机界面指南的对话框。请参阅wxPython演示。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top