所以我试图仅更改MainWindow
的背景颜色。当我尝试使用this->setStyleSheet("background-color:black;");
执行此操作时,它会更改所有内容的背景:子窗口小部件,QTextBoxEdit
背景,所有内容。
有没有办法只改变主窗口的背景?
答案 0 :(得分:5)
你可以在QSS之前使用Qt类名,比如
QMainWindow { background-color: rgb(0, 0, 0);}
在您的示例QMainWindow > QWidget { background-color: rgb(0, 0, 0);}
中可能更好。
答案 1 :(得分:5)
如您所知,每个QMainWindow
都有一个中央窗口小部件,默认情况下名为centralwidget
。
因此,解决此问题的最佳方法是更改该小部件的背景。
使用样式表时非常简单。在这种情况下将是以下一个:
#centralwidget {
background-color: rgb(0, 0, 0);
}