由于业务需求,需要继承QWidget写一个目标类,但是遇到一个问题就是,继承完成之后,子类的样式表不生效
重写的子类的名字是class DeviceFrequencyCounter
;
同时给这个类添加样式表
可以看到在UI Designer中,样式表已经生效了,但是,在主进程中创建这个DeviceFrequencyCounter *freqCounter对象之后,样式表却又失效了
运行之后的主进程窗口显示如下
明明在UI designer中已经生效的样式表,为什么在创建了实例对象之后,又无效了呢?
被这个问题困扰了好久之后,终于得知是paintEvent没有重写的原因
在继承QWidget之后,需要对paintEvent函数重新实现,否则样式表不会生效。
因此需要在DeviceFrequencyCounter的源文件中添加如下代码
之后,再重新运行程序
可以看到这时候,样式表正常生效了