最近写了个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下其他的控件,两种方法都可以。