Вы, вероятно, изучили Настройка QTabWidget и QTabBar .
Для стилизации отдельных вкладок в зависимости от их состояния (: only-one,: first,: last,: middle,: previous-selected,: next-selected,: selected) вы можете использовать код таблицы стилей, подобный следующему:
QTabBar::tab {
border: 1px solid #C4C4C3;
border-bottom-color: #C2C7CB;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
padding: 1px 3px;
margin-left: 1px;
margin-bottom: 4px;
}
QTabBar::tab:selected {
background-color: #f14040;
border-bottom-style: none;
}
Поскольку отдельные вкладки не являются виджетами (или объектами), у них нет имени объекта или других свойств.что может идентифицировать их в таблице стилей.Вы можете использовать только псевдоклассы для стилизации вкладок с помощью таблицы стилей.
Возможно, вам придется использовать (C ++) код для изменения стиля вкладки в зависимости от метки.Рекомендуемый способ настройки стилей в Qt - через класс QStyle
.Вы можете подкласс QStyle
или использовать QProxyStyle
, чтобы изменить внешний вид определенных виджетов.Другая альтернатива (вероятно, не рекомендуемая Qt) заключается в создании подкласса QTabBar и повторной реализации функции QWidget::paintEvent( QPaintEvent *event)
.