我正在学习wxPython,所以大多数库和类对我来说都是新的。
我正在创建一个“首选项”对话框类,但不知道确保平台的“确定/取消”(或“保存/关闭”)按钮的顺序正确的最佳方法。该程序旨在在GNOME和Windows上运行,因此我想确保每个平台的按钮顺序正确。
wxPython是否提供阻止我进行if platform.system() == 'Linux'
黑客攻击的功能?
答案 0 :(得分:4)
只有在使用股票对话框(如wx.FileDialog)时,对话框的外观才会发生变化,如果您自己制作,则布局将在每个平台上保持不变。
wx.Dialog有一个CreateStdDialogButtonSizer方法,该方法使用标准按钮创建一个wx.StdDialogButtonSizer,您可能会在不同平台上看到布局的差异,但您不必使用它。
答案 1 :(得分:2)
您可以使用StdDialogButtonSizer
http://www.wxpython.org/docs/api/wx.StdDialogButtonSizer-class.html
只要您的按钮具有标准ID,它们就会以正确的顺序放置。
只是为了添加皱纹,例如在Mac上,首选项对话框没有OK / Cancel按钮。它会在输入时自动应用首选项(或者至少在对话框关闭时)。所以在这种情况下你仍然需要做一些平台嗅探。
答案 2 :(得分:0)
如果您打算使用wx(或任何其他x平台工具包),您最好相信它能做正确的事,mon! - )
答案 3 :(得分:0)
GenericMessageDialog小部件应该根据平台做正确的事情(但我从未使用它,所以我不确定它是否这样做)。请参阅wxPython演示。
您还可以使用SizedControls插件库(它是wxPython的一部分)。 SizedDialog类有助于创建符合每个平台的人机界面指南的对话框。请参阅wxPython演示。