6

我正在使用 Qt Creator。在我的 GUI 中,我使用了一个选项卡小部件。此小部件应具有与主窗口相同的灰色背景色(图片 A)。我通过在 Qt Designer 中编辑样式表来完成此操作:

background-colour: rgb(240, 240, 240);

但是现在我有两个无法解决的新问题:

  • 按钮(--> 发送)不再四舍五入。
  • 编辑框的背景颜色也变为灰色。

在我更改样式表之前,GUI 看起来像图片 B 中的样子。

我也试过

QPalette pal = m_pUi->tabWidget->palette();
pal.setColor(m_pUi->tabWidget->backgroundRole(), Qt::blue);
m_pUi->tabWidget->setPalette(pal);

但这只会改变选项卡后面的颜色,而不是整个“选项卡窗口表面”的整个颜色。

我是否必须进行额外的样式描述,还是有更简单的解决方案?

图片 A - 带样式表

图片 A - 带样式表

图片 B - 没有样式表

图片 B - 没有样式表

4

2 回答 2

10

我遇到了同样的问题,我发现您需要将此属性设置为每个选项卡:

ui->tab->setAutoFillBackground(true);

我不确定,但我认为也有必要将该属性设置QTabWidget为。

我希望这会有所帮助。

于 2015-09-29T22:08:30.003 回答
3

您要访问的“事物”称为 QTabBars。记住这一点,您可以编写如下样式表:

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); 
}

此外,您可能会发现这个问题和这个官方文档很有见地。

于 2013-01-10T11:34:15.137 回答