Qt中QPushButton背景颜色设置方法

时间:2021-03-14 23:49:08

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