可以通过获取按钮的QPalette来设置按钮的颜色
QPalette管理了按钮内部的各种颜色信息
如下:
设置背景色
QPushButton* btn=new QPushButton(this);
btn->setText("我是按钮");
btn->setFixedSize(200,100);
btn->move(20,20);
//获取按钮的调色板QPalette(这个类管理了button的颜色信息)
QPalette pal=btn->palette();
//QPalette::Button表示按钮的背景色
//即设置按钮的背景色为红色
pal.setColor(QPalette::Button,QColor(255,0,0));
//将palette设置进去
btn->setPalette(pal);
btn->setAutoFillBackground(true);
btn->setFlat(true);
获取按钮的颜色
QPalette pal=btn->palette();
// QPalette::ColorRole::Button表示按钮的背景色
//即获取按钮的背景颜色
QColor btn_color=pal.color(QPalette::Button);
// QPalette::ColorRole还有其他取值