需求:在软件运行过程中改变一个控件的样式
思路:使用qss的属性选择器[],在qss文件中分别对控件的某个属性的不同属性值设置样式。
当需要修改控件样式时,修改控件属性的值,并重新加载该控件的样式表。
如何修改控件属性的值?可以先了解一下Qt的属性系统。
修改控件属性的值一般有两种方式:
方式1:
使用Q_PROPERTY()宏中的WRITE操作函数。
方式2:
直接使用QObject::setProperty函数
演示代码见gitee changeProperty: Qt 通过更改控件属性更改控件样式
------------------------------------------------------------------------------
ps:上面讲的是用qss,如果只是想要在程序运行过程中改变控件的颜色,而且想用纯C++代码实现,则可以考虑QWidget::palette