qss编程.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
qss编程

详解 QT 皮肤 QSS编程(1)同css 相似,qss的主要功能与最终目的都是能使界面的表现与界面的元素分离,即质与形的分离,就如同一个人可以在不同的时候穿上不同的衣服一样。AD: QT 皮肤 QSS编程是本文要介绍的内容,借用css 的灵感,Qt也支持Qt自己的css,简称qss。同css 相似,qss的主要功能与最终目的都是能使界面的表现与界面的元素分离,即质与形的分离,就如同一个人可以在不同的时候穿上不同的衣服一样,css机制的引入,使得设计一种皮肤与界面控件分离的软件成为可能,应用程序也能像web界面那样随意地改变外观。一、QSS语法同css一样,他也有由一个selector与一个declaration组成,selector指定了是对哪一个控件产生效果,而declaration才是真正的产生作用的语句。如:QPushButton?{?color:?red?}?QPushButton指定了是对所有的QPushButton或是其子类控件(如用户定义的MyPushButton)产生影响,而color:red表明所有的受影响控件的前景色都为red。除了“类名”,“对象名”,“Qt属性名”这三样东西是大小写敏感的外其他的东西都是大小写不敏感的,如color与Color代表同一属性。如果有几个selector指定了相同的declaration,可以使用逗号(,)将各个选择器分开,如:QPushButton,?QLineEdit,?QComboBox{?color:?red?}?他相当于:QPushButton?{?color:?red?} ?QLineEdit?{?color:?red?} ?QComboBox{?color:?red?}?declaration部份是一系列的(属性:值)对,使用分号(;)将各个不同的属性值对分开,使用大括号({})将所有declaration包含在一起。1、一般选择器(selector)Qt支持所有的CSS2定义的选择器,其祥细内容可以在w3c的网站上查找 /TR/CSS2/selector.html ,其中比较常用的selector类型有:通用类型选择器:*会对所有控件有效果。类型选择器:QPushButton匹配所有QPushButton的实例和其子类的实例。属性选择器:QPushButton[flat=”false”]匹配所有QPushButton属性flat为false的实例,属性分为两种,静态的和动态的,静态属性可以通过Q_PROPERTY()来指定,来动态属性可以使用setProperty来指定,如:QLineEdit?*nameEdit?=?new?QLineEdit(this); ?nameEdit-setProperty(mandatoryField,?true);?如果在设置了qss后Qt属性改变了,需要重新设置qss来使其生效,可以使用先unset再set qss。类选择器:.QPushButton匹配所有QPushButton的实例,但不包含其子类,这相当于:*[class~=QPushButton]???? ~=的意思是测试一个QStringList类型的属性是否包含给定的QStringID选择器:QPushButton#okButton对应Qt里面的object name设置,使用这条CSS之前要先设置对应控件的object name为okButton,如:Ok-setObjectName(tr(“okButton”));后裔选择器:QDialogQPushButton匹配所有为QDialog后裔(包含儿子,与儿子的儿子的递归)为QPushButton的实例子选择器:QDialog QPushButton匹配所有的QDialog直接子类QPushButton的实例,不包含儿子的儿子的递归。2、子控件选择器对于复杂的控件,可能会在其中包含其他子控件,如一个QComboxBox中有一个drop-down的按钮。那么现在如果要设置QComboxBox的下拉按钮的话,就可以这样访问:QComboBox::drop-down { image: url(dropdown.png)}其标志是(::)子控件选择器是用位置的引用来代表一个元素,这个元素可以是一个单一控件或是另一个包含子控件的复合控件。使用subcontrol-origin属性可以改变子控件的默认放置位置,如:QComboBox{ ????????margin-right:?20px; ?} ?QComboBox::drop-down?{ ????????subcontrol-origin:?margin; ?}??如上语句可以用来改变drop-down的margin。相对位置属性可以用来改变子控件相对于最初位置的偏移

文档评论(0)

abf4675328 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档