Стайлинг только продвигаемых виджетов с помощью QT Creator
Я новичок в Qt и разрабатываю формы с помощью Qt Creator. Я заметил, что могу применять стили для определенных виджетов в таблице стилей формы, и это будет стиль каждого виджета в форме. Например, "QPushButton{color: red;}" заставит все кнопки QPushButton на форме иметь красный текст.
Есть ли способ применять стили только к определенным группам виджетов? Например, если я продвигаю QPushButton и называю его MyButton, как я могу установить стили только для Mybutons. Я бы ожидал этого. можно сделать что-то вроде "MyButton{color: green;}", но это, похоже, не работает.
Есть ли лучший способ сделать то, что я пытаюсь сделать (предпочтительно с помощью Qt Creator)? Я, кажется, нигде не могу найти пример этого, но, возможно, это потому, что я не использую правильную терминологию.
Спасибо, Марк
2 ответа:
Существует множество вариантов задания селекторов в таблицах стилей. Онизадокументированы здесь .
Тот, который я использую (на что намекает официальный справочный документ таблицы стилей ), является |=
QPushButton[objectName|="somePrefix_"]
Я использую его для выбора элементов, имеющих одинаковый префикс имени объекта. Вы, конечно, можете достичь аналогичного результата, применив таблицу стилей к панели, содержащей кнопки, которые вы хотите стилизовать по-другому, но это может оказаться сложным.
IIRC, который должен работать, но создатель может не показывать предварительный просмотр правильно, поскольку он не создает экземпляр вашей кнопки. Лично я считаю, что работаю с Глобалом .css-файл, который загружается при запуске, работает лучше, чем применение отдельных стилей к каждому элементу в creator.
Используйте
QApplication::setStyleSheet()
для задания глобальной таблицы стилей