如下是我的实现代码,请各位帮忙看一下,为什么选择颜色后,QPushButton的背景颜色不变(环境为Win)!
- C/C++ code
void MyDilog::OnButtonSelectColor(){ QColorDialog *colorDlg = new QColorDialog; colorDlg->setModal(true); if ( colorDlg->exec() != QDialog::Accepted) return; QPalette pal = IDC_BUTTON_Color->palette(); QColor _color = colorDlg->currentColor(); pal.setColor(QPalette::Button,_color); IDC_BUTTON_Color->setPalette(pal);}
将其中
pal.setColor(QPalette::Button,_color);
改为
pal.setColor(QPalette::ButtonText,_color);时QPushButton的text颜色会变!
请各位帮忙指点一下! 先谢过啦!
------解决方案--------------------
将QPushButton的这个属性值改一下:
- C/C++ code
setAutoFillBackground(true);
------解决方案--------------------
将
IDC_BUTTON_Color->setPalette(pal);
改成
IDC_BUTTON_Color->setStyleSheet(QString("background-color:%1").arg(_color.name()));
即可~``