样式表与属性的结合:
样式表的使用时会涉及到属性,这里的属性和qt部件的属性有什么关联呢?
**样式表有自己的一套属性,可以应用于部件上,与部件本身有无此属性无关。(两个体系)
但是却可以通过给部件添加动态属性的方式,将qt的动态属性与样式表进行联系:
qt中为了用户界面外观的动态变化,属性选择器可以与动态属性组合使用。动态属性在Qt4.2中引入,允许为编译时不存在的QObject属性分配属性值。即:如果为QObject实例设置一个urgent属性为true,该属性将跟随该实例,但不会为urgent属性包含一个Q_PROPERTY宏。
创建样式选择器依赖于动态属性,例如:urgent(动态属性),可以用一个非常动态的方式凸显用户界面。例如:

会匹配QLineEdit中的属性urgent=true的实例。从而设置color属性为红色。(当然若是匹配QLineEdit中自带的默认属性也是可以的)
**那么样式表能不能对部件的原有属性进行设置?答案是可以:
从 Qt4.3 开始,任何可设计的 Q_PROPERTY 都可以使用“qproperty-属性名称”语法来设置样 式表。如:
MyLabel{qproperty-pixmap:url(pixmap.png);}
MyGroupBox{qproperty-titleColor:rgb(100,200,100);}
QPushButton{qproperty-iconSize:20px 20px;}
------------------------------------------------------------------------------------------------------------------------------------------
样式表知识:

ps:直接选中部件,不设置选择器的时候,默认是类型选择器。
样式表可以应用于Qt部件,无视部件本身是否包含特定属性。自Qt4.2起,动态属性允许为QObject添加编译时不存在的属性,如urgent。通过属性选择器,可以基于动态属性如urgent改变用户界面的外观。从Qt4.3版本开始,所有可设计的Q_PROPERTY都能在样式表中用qproperty-属性名称语法设置,如qproperty-pixmap或qproperty-titleColor。当不指定选择器时,默认使用类型选择器。
704

被折叠的 条评论
为什么被折叠?



