Я пытаюсь установить различные визуальные стили для нажатой QToolButton
в зависимости от того, отображает ли оно меню.
В моем коде кнопки инструментов, имеющие меню, устанавливают свое свойство popupMode
на QToolButton::InstantPopup
(значение 2), в то время как кнопки без связанного меню сохраняют значение по умолчанию (QToolButton::DelayedPopup
, значение 0).
Я пытался использовать такое свойство по-разному, как селектор, но только последний (QToolButton[popupMode="2"]
) сработало:
/* Not working */
QToolButton[popupMode=InstantPopup]:pressed,
QToolButton[popupMode="InstantPopup"]:pressed,
QToolButton[popupMode="QToolButton::InstantPopup"]:pressed,
QToolButton[popupMode="QToolButton--InstantPopup"]:pressed,
QToolButton[qproperty-popupMode=InstantPopup]:pressed,
QToolButton[qproperty-popupMode="InstantPopup"]:pressed,
QToolButton[qproperty-popupMode="QToolButton::InstantPopup"]:pressed,
QToolButton[qproperty-popupMode="QToolButton--InstantPopup"]:pressed,
QToolButton[qproperty-popupMode="2"]:pressed
{
background-color: blue;
}
/* Working */
QToolButton[popupMode="2"]:pressed,
{
background-color: red;
}
(это компиляция опций, я тестировал их отдельно).
Документация упоминает, что если enumобъявляется с использованием Q_ENUM
(как это делает ToolButtonPopupMode
), тогда на него следует ссылаться по имени, а не по значению, но, как видно выше, кажется, что это не относится к селекторам.
Вопрос: Можно ли использовать имя перечисления в качестве селектора в таблице стилей вместо значения перечисления?
Примечание: я понимаю, что другиетакие опции, как пользовательские свойства с более выразительным Qt-независимымзначение может сделать работу тоже.Мне любопытно о возможности использования перечисления описанным способом.