sar*_*ara 4 qt tabs stylesheet
我想仅针对特定选项卡进行更改.我该怎么做?
我试过两个:
QTabBar::tab#tbGeneral{... }
QTabWidget::tab-bar#tbGeneral{... }
Run Code Online (Sandbox Code Playgroud)
没有用.
您可能已经研究过Customizing 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;
}
Run Code Online (Sandbox Code Playgroud)
由于各个选项卡不是窗口小部件(或对象),因此它们没有对象名称或其他可以将它们标识到样式表的属性.您只能使用伪类来设置样式表的样式.
您可能必须使用(C++)代码来根据标签更改选项卡的样式.在Qt中自定义样式的推荐方法是通过类QStyle.您可以子类化QStyle或使用它QProxyStyle来更改特定小部件的外观.另一种选择(可能不是Qt推荐的)是通过继承QTabBar并重新实现该功能QWidget::paintEvent( QPaintEvent *event).