设置 Qt 的主窗口的背景颜色仅限于窗口背景颜色。

4

我想仅更改MainWindow的背景颜色。例如,当我尝试使用this->setStyleSheet("background-color:black;");时,它会更改所有内容的背景:子窗口部件,QTextBoxEdit 背景等。

有没有办法仅更改主窗口的背景?

2个回答

4
您可以在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

4

正如您所知,每个QMainWindow都有一个中心小部件,默认情况下命名为centralwidget

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

如果我们使用样式表,这很简单。在这种情况下,应该使用以下样式表:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接