Я занимаюсь разработкой кроссплатформенного приложения на Python с использованием wxPython.Приложение полностью разработано, и графический инструментарий установлен в камне, по крайней мере, в настоящее время.
В Windows все выглядит отлично.В Linux все выглядит довольно хорошо.На Mac у меня возникают проблемы с тем, что в панели инструментов скрыт комбинированный список / выбор, хотя в Windows он отлично отображается.
Вот снимок моего приложения в Linux, отмечая весь «CoeffConv».. "является частью прекрасно отображаемого комбинированного списка:
А вот снимок той же точной кодовой базы на Mac:
Я пробовал с wx.ComboBox и wx.Choice с тем же эффектом.Я обязательно вызвал функцию Realize () после добавления элементов панели инструментов.Я убедился, что AddControl вызывается для добавления объекта на панель инструментов.Он определенно пытается отрендерить, потому что интервал - это именно то, что я и ожидал, учитывая содержимое поля выбора.
На самом деле, если я не вызываю AddControl, но я создаю поле выбора с панелью инструментов какродительский элемент, поле отображается, но все не организовано должным образом из-за отсутствующего вызова AddControl:
В качестве еще одной проверки я создал суперпростая панель инструментов с демонстрационным выбором, и она прекрасно работает:
Итак, вот краткое изложение того, что я знаю:
- В Windows поле выбора работает идеально, указывая на то, что код не обязательно ошибочен.
- В Linux поле выбора работает идеально, поддерживая идею, что код на самом деле в порядке.
- На Mac поле выбора присутствует, кажется, но как-то невидимо, подразумевая, что это проблема с Mac, или с дистрибутивом Python на Mac, или с элементом управления combobox в дистрибутиве wxPython на Mac.
- Вкл.Mac,Я могу получить возможность отображать (неправильно, но все же) без вызова AddControl, указывая, что комбинированный список может отображаться правильно, но что-то глупо в размещении при добавлении на панель инструментов
- Однако на Mac я могу получитьпанель инструментов / выбор для полной визуализации в фиктивном примере, указывающий, что это что-то в моей реализации ... но я не могу понять, что вызвало бы это, поскольку я пытаюсь сделать точно такие же вызовы к объектам wx, как вфиктивный пример.
Я не могу заставить фиктивный пример воспроизвести проблему, но я буду продолжать пытаться.Я рад сообщить о некоторых свойствах объекта, если они будут полезны при диагностике.Если у кого-то есть подсказка о том, что может привести к тому, что он не появится, я буду очень признателен!