Я хотел бы создать ListBox
в wxPython с той же семантикой, что и для множества select
в HTML. В частности, я хотел бы следующую семантику
- Когда пользователь нажимает на запись в списке, все остальные записи отменяются, а выбранная запись становится выбранной. Если запись уже была выбрана, она остается выбранной.
- Когда пользователь удерживает нажатой клавишу Ctrl при нажатии на запись, все остальные записи остаются неизменными, но это переключает, выбрана ли выбранная запись.
- Когда пользователь удерживает нажатой клавишу shift и нажимает на запись, эта запись и каждая запись между ней и последней нажатой записью становятся выбранными.
В Java я получаю это, используя класс JList
в Swing и устанавливая режим выбора на MULTIPLE_INTERVAL_SELECTED
. Я предполагаю, что есть способ сделать это с помощью инструментария wxPython, но я не могу понять, как получить ListBox
или ListCtrl
или любой другой класс, чтобы сделать это за исключением огромного количества событийного программирования я.