Окно-переполнение виджета в wxWidgets
Я ищу способ реализовать этот дизайн в wxPython на Linux...
У меня есть панель инструментов с кнопкой, когда кнопка нажата, должно появиться всплывающее окно, имитирующее расширение панели инструментов (например, меню), и это всплывающее окно должно отображать два столбца переключателей (скажем, 2x5) и текстовое поле.. Моя главная проблема в том, что панель инструментов имеет небольшую высоту, поэтому всплывающее окно должно выходить за границы области окна / клиента.
Я подумал о двух возможных реализациях:
- с помощью wxMenu, поскольку меню может быть нарисовано за пределами клиентской области. Боюсь, что возможности макета недостаточно гибки для моей цели
- с помощью фасонной рамы. Нажатие на кнопку приведет к изменению формы рамки и отображению необходимых виджетов в соответствии с запросом.
Мой вопрос: я что-то упустил / что-то не так?:) Это вообще выполнимо?
1 ответ
Использование меню не допускается, потому что wxWidgets
не могу поместить виджеты в меню. Использование фигурной рамки было бы в принципе возможным, но проблема заключается в том, чтобы получить положение нажатой кнопки, чтобы окно отображалось в правильном положении. Я пытался сделать это тогда, но не повезло (в C++ wxWidgets). Может быть, эта ситуация поменялась между тем, удачи.
Вы также можете попробовать wxComboCtrl
, который позволяет вам иметь собственное всплывающее окно. Тогда можно было бы отобразить окна радио и контроль ввода.