Sem*_*ger 7 user-interface qt4 qt-designer
我正在使用Qt Creator.在我的GUI中,我使用了一个标签小部件.此小部件应具有与主窗口相同的灰色背景颜色(图片A).我通过在Qt Designer中编辑样式表来完成这个:
background-colour: rgb(240, 240, 240);
Run Code Online (Sandbox Code Playgroud)
但现在我有两个我无法解决的新问题:
因为我在图B中更改了GUI样式表.
我也试过了
QPalette pal = m_pUi->tabWidget->palette();
pal.setColor(m_pUi->tabWidget->backgroundRole(), Qt::blue);
m_pUi->tabWidget->setPalette(pal);
Run Code Online (Sandbox Code Playgroud)
但这只会改变标签后面的颜色,而不是整个"标签窗口 - 表面"的整个颜色.
我是否必须制作其他样式说明,还是有更简单的解决方案?
图A - 带样式表
图B - 没有样式表
我遇到了同样的问题,我发现你需要为每个标签设置这个属性:
ui->tab->setAutoFillBackground(true);
Run Code Online (Sandbox Code Playgroud)
我不确定,但我认为还有必要将属性设置QTabWidget
为这样.
我希望这有帮助.
小智 7
您想要访问的“事物”称为 QTabBar。记住这一点,您可以编写如下样式表:
QTabBar::tab
{
background: #48555E;
color: white;
border-color: #48555E;
}
QTabBar::tab:selected,
QTabBar::tab:hover
{
border-top-color: #1D2A32;
border-color: #40494E;
color: black;
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #C1D8E8, stop: 1 #F0F5F8);
}
Run Code Online (Sandbox Code Playgroud)