- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
——欧阳璐天朗时代研发中心2014/5/26 QSS学习与分享Hi!本PPT中采用的图片和部分素材来自网络截图,部分截图来源于自绘,语言组织由本人完成,欢迎提出建议和意见。01素材链接:02QSS样式实用:03MPRMakerForPDF/EPUB资源包黑色皮肤04文档说明内容导览什么是QSS样式表 先给大家看一段QSS的样式表demo:QPushButton{ border:2pxsolid#8f8f91; border-radius:6px; background-color: qlineargradient(x1:0,y1:0,x2:0,y2:1,stop:0#f6f7fa,stop:1#dadbde);min-width:80px;}QPushButton:pressed{ background-color:qlineargradient(x1:0,y1:0,x2:0,y2:1,stop:0#dadbde,stop:1#f6f7fa);}QPushButton:hover{ background-color:qlineargradient(x1:0,y1:0,x2:0,y2:1,stop:0#dadbde,stop:1#f6f7fa);} 样式表存在于一个文件中,Qt样式表的文件统一拓展名为*.qss,用来存放样式和效果代码。然后通过Qt程序的引用将定制的效果设置到程序中。 对Qt程序界面的定制有两种方法:使用程序继承并实现一个QStyle的子类Qt样式表的使用。 样式表的由来:仿照CSS样式表的模式对界面程序样式进行定制与修改。 Qt样式表的思想很大程度上是来自于HTML的层叠式样式表(CSS),通过调用QWidget::setStyleSheet()或QApplication::setStyleSheet()从而可以为一个独立的子部件、整个窗口,甚至是整个应用程序指定一个样式表。 样式表的程序引用:通过QStyle的一个叫做QStyleSheetStyle的特殊子类来实现的。这个特殊的子类实际上是其他的系统特定风格类的包裹类,它会把通过样式表指定的自定义外观风格应用在底层的系统特定风格之上。样式表的引入,使得定制Qt的外观样式变的非常简单。程序和界面外观定制进行分离,独立开发。样式定义精确到像素的级别降低了服务器的成本可以使用多套样式,更换界面或者切换效果更加方便便于维护,便于管理界面更加友好使用方便等为什么要使用QSS编辑皮肤优点:如何使用样式表? 1.样式表原理:方箱模型 对于任何一个控件或者 控件里的子部件,可以这样 了理解,相对于右图,一个空间可以分为四个区域边框: Margin:控件最外围的空白区域,总是透明的 Border:控件的外边框 Padding:控件的外边空到内显示区域的空白区域 Content:控件的最内显示区域注意:当Margin大小为0时,控件大小就是显示的实际大小.样式表调整的对象:各个空间和控件中的各个子控件。样式表调整的内容:控件大小控件位置控件状态控件背景等当然,首先我们得了解其通用的格式. 4.样式表基本语法:一个样式表由一系列的样式规则构成。每个样式规则都有着下面的形式:selector{ attribute:value} 选择器(selector)通常是一个类名(例如QComboBox),当然也还有其他的语法形式。 属性(attribute)部分是一个样式表属性的名字,值(value)部分是赋给该属性的值。selector#ObjectName{ attribute:value} ObjectName是一个指定的控件的名字,一般由程序中调用setObjectName()来指定。 注意:前一个的样式,会被后来的样式所覆盖. 为了使用方便,我们还可以使用一种简化形式,这样:
selector1,selector2,...,selectorM{ attribute1:value1; attribute2:value2; ... attributeN:valueN;}如:QCheckBox,QComboBox,QSpinBox{
color:red;
文档评论(0)