Добро пожаловать в wxPython! Если вы хотите создать что-то нестандартное, вам нужно создать подкласс базового элемента управления, который вы хотите изменить. Часто это будет wx.Panel, если вы комбинируете несколько вещей, но это также может быть переключатель, флажок и так далее. Ознакомьтесь с http://wiki.wxpython.org/CreatingCustomControls, где это очень подробно объясняется с примерами.
Собственный элемент управления зависит от операционной системы для рисования. Собственный флажок в основном говорит: «Эй, ОС, нарисуй для меня флажок», поэтому он будет выглядеть так, как должен, «нативным» в любой системе, включая слияние с темой. Флажок, нарисованный владельцем, рисуется с помощью пользовательского кода, который часто будет выглядеть одинаково во всех системах. Это дает гораздо больше гибкости в том, как выглядит и ведет себя ваш элемент управления, но достигается за счет собственного внешнего вида и часто не очень хорошо сочетается с доступностью.
Однако эти два понятия особо не связаны; то, что элемент управления является пользовательским, не означает, что он должен быть нарисован владельцем, а встроенный элемент управления wxPython не всегда является родным.
Если вы загрузите демонстрационное приложение wxPython, вы сможете найти всевозможные примеры нативных, нарисованных владельцем и пользовательских элементов управления. Надеюсь это поможет!
person
mrooney
schedule
05.03.2010