我试了下,使用如下方法可以,不过貌似麻烦点
QPalette p(this->palette ());
//------
QColor c=p.color (QPalette::Normal,QPalette::Window);
c.setRed (c.red()*0.8);
c.setBlue(c.blue ()*0.8);
c.setGreen(c.green ()*0.8);
p.setColor (QPalette::Normal,QPalette::Window,c);
//--------
this->setPalette (p);
this->repaint ();
这个是直接改变window的背景色,如果还有别的控件,貌似需要多设置几次color。也就是注释中间的代码需要多几遍,每次换用不同的参数替换QPalette::Window