仅设置MainWindow Qt的背景颜色

时间:2014-01-29 18:14:11

标签: qt

所以我试图仅更改MainWindow的背景颜色。当我尝试使用this->setStyleSheet("background-color:black;");执行此操作时,它会更改所有内容的背景:子窗口小部件,QTextBoxEdit背景,所有内容。

有没有办法只改变主窗口的背景?

2 个答案:

答案 0 :(得分:5)

你可以在QSS之前使用Qt类名,比如 QMainWindow { background-color: rgb(0, 0, 0);}

在您的示例QMainWindow > QWidget { background-color: rgb(0, 0, 0);}中可能更好。

请参阅http://doc.qt.io/qt-4.8/stylesheet-syntax.html了解详情

答案 1 :(得分:5)

如您所知,每个QMainWindow都有一个中央窗口小部件,默认情况下名为centralwidget

因此,解决此问题的最佳方法是更改​​该小部件的背景。

使用样式表时非常简单。在这种情况下将是以下一个:

#centralwidget {
    background-color: rgb(0, 0, 0);
}