Привет коллеги разработчики!
Я хочу реализовать QCombobox «Действие», в котором различные опции запускают действие, а не выбирают опцию. Поле со списком говорит что-то вроде «Добавить свойство», и когда пользователь щелкает по нему, он получает различные свойства на выбор. Если пользователь щелкает один из них, он добавляется в -whthingdoesntmatter-. Затем выпадающий список возвращается в исходное состояние.
Проблема заключается в том, что первая запись «Добавить свойство» отображается в выпадающем списке, что создает некоторую путаницу для пользователя, поскольку на самом деле это не действие.
Нормальное состояние:
[Add Property]
Выпадающее состояние:
[Add Property]
Add Property
Length
Width
etc ...
Поэтому я хочу скрыть первый вариант, как только выпадающий список выпадет, чтобы добиться такого поведения:
[Add Property]
Length
Width
etc ...
Я уже пробовал с помощью создания подклассов комбобокса и перезаписи showPopUp () и hidePopUp () — но я не мог понять, как получить предполагаемое поведение.
Идеи? Спасибо!
Если вам не совсем нужен QComboBox
вам может быть лучше / легче с помощью QToolButton
с QMenu
связано, а затем установить кнопку popupMode
до соответствующей стоимости.
Вы можете даже использовать QToolBar
, Просто добавьте QAction
с желаемым ярлыком (например, Добавить недвижимость), свяжите с ним меню через QAction::setMenu
и у него до панели инструментов. Панель инструментов сама создаст кнопки инструментов.
Чтобы получить доступ к popupMode
собственность, которую вы можете использовать QToolBar::widgetForAction
и бросить его в QToolButton
,
Других решений пока нет …