最近写了个Qt的小软件,想改变QPushButton的背景颜色,下面的命令尽然不起作用,很是郁闷 TH_2是我ui界面上的一个button的名字 ui->TH_2->setAutoFillBackground(true); QPalette testpalette = ui->TH_2->palette(); // testpalette.setBrush(ui->TH_2->backgroundRole(), QBrush(QColor(255, 0, 0))); testpalette.setColor(QPalette::Background, QColor(255,0,0)); ui->TH_2->setPalette(testpalette); 不管我设置不是画笔颜色,依然不管用,一查才知道自己错了。 因为在windows中QPushButton的颜色涉及到样式表,所以应该设置样式表才可以,所以正确的命令应该是
ui->TH_2->setStyleSheet("background-color: rgb(170, 0, 255);"); 这样一条命令就OK了。 而对于windows下其他的控件,两种方法都可以。
|