在qt中自定义样式表中的选项卡控件
我只想对特定选项卡进行更改。我怎么做 我尝试了两种方法:在qt中自定义样式表中的选项卡控件,qt,tabs,stylesheet,Qt,Tabs,Stylesheet,我只想对特定选项卡进行更改。我怎么做 我尝试了两种方法: QTabBar::tab#tbGeneral{... } QTabWidget::tab-bar#tbGeneral{... } 没有起作用。你可能已经研究过了 要根据各个选项卡的状态设置其样式(:仅一个,:第一个,:最后一个,:中间,:上一个选中,:下一个选中,:选中),可以使用类似于以下内容的样式表代码: QTabBar::tab { border: 1px solid #C4C4C3; border-bott
QTabBar::tab#tbGeneral{... }
QTabWidget::tab-bar#tbGeneral{... }
没有起作用。你可能已经研究过了 要根据各个选项卡的状态设置其样式(:仅一个,:第一个,:最后一个,:中间,:上一个选中,:下一个选中,:选中),可以使用类似于以下内容的样式表代码:
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
或使用QProxyStyle
来更改特定小部件的外观。另一种选择(Qt可能不推荐)是对QTabar进行子类化并重新实现该函数。您误解了我的意思。我不想更改窗格。我只想区分两种情况:是否选择了第一个选项卡。也许我以前没说清楚。你真的需要使用样式表吗?还是可以在你的代码中使用呢?