Я заметил странные особенности в небольшом графическом интерфейсе, который я написал некоторое время назад, но прошло много времени с тех пор, как я старался, чтобы специфика была довольно отдаленной памятью. У вас есть конкретные примеры, которые терпят неудачу? Может быть, мы можем улучшить их и исправить ошибки?
Вы пробовали официальные руководства по wxPython ? ... или вы хотели что-то более конкретное?
r.e. ваше редактирование - вы должны использовать OnInit()
, потому что вы создаете подклассы wx.App (т.е. это требование для wxWidgets, а не для Python), а реализация wxPython везде, где это возможно, просто оболочка для wxWidgets .
[Редактировать] У Zetcode есть довольно длинный урок по wxPython . Я сам все это не просматривал, но это может помочь?
Документация wxWidgets::wxApp::OnInit()
довольно ясна:
Это должно быть предоставлено приложением и обычно создает главное окно приложения, при необходимости вызывая wxApp :: SetTopWindow. Вы можете использовать OnExit для очистки всего, что инициализировано здесь, при условии, что функция возвращает true.
Если бы wxWidgets не предоставлял общий интерфейс, вам пришлось бы делать разные вещи в C ++ (используя конструктор) по сравнению с __init__(self,...)
в Python. Использование независимой от языка инициализации позволяет портам wxWidgets для других языков выглядеть более одинаково, что должно быть хорошо, не так ли? : -)