Порядок OK/CANCEL в "пользовательских" диалогах, созданных с помощью wxglade
Я заметил, что в стандартных диалогах некоторые кнопки ОТМЕНА и ОК в различном порядке под Windows и под Linux. В Linux вы получаете "[CANCEL] [OK]", а в Windows "[OK] [CANCEL]".
У меня нет проблем со стандартными диалогами, но тогда мои "настраиваемые диалоги" должны быть настроены в соответствии с тем же порядком, в зависимости от ОС
Мои сомнения:
1.- Кажется, существует класс под названием wx.StdDialogButtonSizer
, но я не уверен, как это следует использовать. Может кто-нибудь опубликовать какой-нибудь рабочий простой / рабочий пример?
И "Главный вопрос":
2. Я использую wxglade для "сборки" кода для диалогов, поэтому я не уверен, что могу использовать StdDialogButtonSizer. Есть ли способ определить диалог с заданным порядком, а во время выполнения проверить, соответствуют ли кнопки правильному порядку и "заменить" эти два виджета, если нет?
Спасибо
1 ответ
StdDialogButtonSizer - определенно способ использовать пользовательские диалоги. Вот простой пример:
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: кроссплатформенный способ соответствия порядку кнопок Ok/Cancel или http://wxpython-users.1045709.n5.nabble.com/wx-StdDialogButtonSizer-and-wx-ID-SAVE-td2360032.html
Я не знаю, есть ли способ сделать это на поляне или нет.