2017-02-09 3 views
0

Я работаю над небольшим приложением, которое имеет некоторые флажки. Приложение будет запущено на компьютерах под управлением Windows 7 с набором тематических разделов Windows Classic. Это означает, что все галочки будут bezeled границы, как показано на рисунке ниже:wxPython: как создать флажок, который имеет плоский вид (без рамки).

enter image description here

Интересно, есть ли способ, чтобы установить флажки, не имеют ободок. Если это невозможно, возможно ли установить флажки для рисования/рисования без рамки? Я не смог найти примеры. Благодаря!

+0

действительно ли добавлен флаг стиля wx.NO_BORDER? На моей машине они выглядят по умолчанию – user2682863

ответ

2

Это действительно зависит от платформы и/или темы, и поддерживает ли собственный виджет альтернативные виды и т. Д. Итак, другими словами, для вопросов о настройке LnF собственных виджетов в целом ответ «возможно», но, вероятно, это зависит от ряда факторов, которые не находятся под контролем wx.

С другой стороны, изготовление пользовательских элементов управления намного проще, чем большинство людей думает, что это будет. Для чего-то вроде флажка вам просто нужно предоставить обработчик события для EVT_PAINT, который рисует текущее состояние виджета с помощью wx.PaintDC, а также обработчики для событий мыши и клавиатуры для взаимодействия с пользователем. В пакете wx.lib есть несколько примеров, которые можно использовать для вдохновения, например wx.lib.stattext или wx.lib.buttons.

Смежные вопросы