Я согласен с таблицами стилей "Харальд Шейрих". Но, возможно, чтобы убедить вас, я расскажу вам о менее известной части таблиц стилей, называемой Property Selectors
Если вы посмотрите на таблицу стилей doc здесь , вы увидите небольшой раздел о них. По сути, мы задаем таблицу стилей для тех виджетов с определенным набором свойств. Например, все плоские кнопки QPushButton.
QPushButton[flat="true"]
{
background-color: blue
}
Теперь, хотя это довольно круто, само по себе это не очень вам помогает. Что еще более удивительно, вы можете добавить свои собственные свойства в QObject. Они известны как динамические свойства. И они также могут быть использованы в селекторах свойств
Таким образом, я мог бы создать такую таблицу стилей, например, где highlightHeader - это мое готовое свойство
QHeaderView[highlightHeader="true"]
{
background-color: red
}
Теперь вы можете применять эту таблицу стилей глобально к каждому QHeaderView. Но так как никто не устанавливает truelightHeader в true, мы не увидим нигде красного Поэтому следующий шаг - когда мы решаем, что мы хотим сделать конкретный QHeaderView красным, тогда мы вызываем это:
myHeaderView->setProperty("highlightHeader", true);
myHeaderView->style()->unpolish(myHeaderView);
myHeaderView->style()->polish(myHeaderView);
В первой строке мы устанавливаем свойство для запуска нужного нам состояния. Следующие две строки должны гарантировать, что Qt переоценивает стиль виджета. В противном случае вы, вероятно, не увидите изменения.
И в основном это все. Надеюсь, это поможет.