? 个人主页:pp不会算法v
? 版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主
? 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦
文章来源:https://uudwc.com/A/Pmg34
这里写自定义目录标题
ui->pushButton->setAutoFillBackground(true);
//获得当前选择的颜色值
QStringList colorList = QColor:: colorNames();
QColor color= QColor(colorList[ui->comboBox_3->currentIndex()]);
QPalette p = ui->frame_2->palette();
p.setColor (QPalette::Button,color);
//把修改后的调色板信息应用到 frame_2 窗体中,更新显示
ui->frame_2->setPalette(p);
// ui->frame_2->update();
关于以上代码:并没有实现设置按钮控件的背景色
但是参照QT的帮助文档:
照上面这么讲确实应该可以改变按钮背景色
但是程序运行之后却只能改变按钮边框的颜色
网上一搜 发现基本上都是说用样式表
但是我这个程序是要实现自己选择颜色来改变按钮的背景色 样式表当然就无济于事了 经过一番查找终于寻得解决办法:把按钮扁平化
flat : bool 存按钮是否扁平化。 默认为false。 除非按下或选中扁平按钮,否则不会绘制背景。文章来源地址https://uudwc.com/A/Pmg34
ui->pushButton->setAutoFillBackground(true);
ui->pushButton->setFlat(true);// flat : bool 存按钮是否扁平化。 默认为false。 除非按下或选中扁平按钮,否则不会绘制背景。
//获得当前选择的颜色值
QStringList colorList = QColor:: colorNames();
QColor color= QColor(colorList[ui->comboBox_3->currentIndex()]);
QPalette p = ui->frame_2->palette();
p.setColor (QPalette::Button,color);
//把修改后的调色板信息应用到 frame_2 窗体中,更新显示
ui->frame_2->setPalette(p);
// ui->frame_2->update();