QStackedWidget中的控件,有的样式不能生效,经过一番研究,发现好像有如下规律:调用QStackedWidget的addWidget添加控件之后,被添加的控件(包括子控件)如果再调用setObjectName、setProperty(添加自定义属性,比如"cssClass")等函数,那么控件的样式不会因为ObjectName或Property的改变而发生变化。
对于使用Qt Form Editor(窗口编辑器)中的Property Editor(右下角的属性编辑器)添加的Dynamic Properties(动态属性),如果是String类型(比如为String:"cssClass"),可以去掉勾选这个属性的translatable选项,这样Qt自动生成的代码中setProperty("cssClass")会在QStackedWidget的addWidget之前调用,从而避免了样式不生效的问题。
参考: