//这个实在是难翻译,很多地方直译,因为我也没看懂
 
细微控制:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
为了风格化复杂的widget,那是必须的进行widget的细微控制。例如一个QComboBox的drop-down按钮,或者一个QSpinBox的上下线。选择器可能包含细微控制,使限制一个规则的应用来说明widget细微控制。例如:
上面的规则风格化所有的QComboBox的上下按钮。尽管双冒号::语句像CSS3的Pseudo-Elements。Qt的细微控制不同于这些,有不同的级联语义。
细微控制总是定位根据另一个元素--—一个参考元素。这个参考元素能是widget或者另一个细微控制。例如,一个QComboBox的::drop-down被定位,缺省的,在QComboBox衬底矩形的右上角。::drop-down被定位,缺省的,在::drop-down微调内容矩形的中心。看
List of Stylable Widgets来风格化一个widget和他们缺省的位置。
起点能被改变通过使用subcontrol-origin。例如,如果我们想定位drop-down在QComboBox空白处代替缺省的衬底部分,我们能这样:
drop-down的对齐在空白矩形范围可以通过subcontrol-position改变。宽度和高度属性能被用来控制微调的大小。注意设置一个图片潜在的设置了微调的大小。
相对位置的设置方法(position:relative),允许微调的位置抵消他的原来的位置。例如,当QComboBox的drop-down按钮被按下,我们可能想要一种被按下的效果。如下:
绝对位置的设置方法(position:absolute),允许微调的位置和大小被改变与参考元素相关。一旦定位,他们被对待和widget一样,能被风格化通过使用box model。看 List of Sub-Controls为支持的微调。
注意:对于复杂的widget例如QComboBox和QScrollBar,如果一个属性或者微调被定制,所有其他的属性或者微调必须也被定制。
虚假状态:
选择器可能包含虚假状态,指出限制那些基于widget状态规则的应用。虚假状态出现在选择器的结尾,用一个冒号(:)。例如
虚假状态能被取反,通过使用叹号操作。例如
虚假状态能被连接,相当于逻辑与。例如
也可以用逗号代替
虚假状态也能和微调结合
冲突解决:
冲突产生,当一些风格语句改变相同的属性,使用不同的值。考虑下面的风格语句:
为解决这个冲突,我们必须了解选择器的特性。在上面的例子中,QPushButton#okButton是被认为更特别的比起QPushButton,因为他代表单个的对象,不是所有的一个类的例子。
同样的,带虚假状态的选择器是更特别的比起没有虚假状态的。因此,下面的风格语句表明:
当一个鼠标滑过QPushButton时,有白色的text,否则红色text。
这是一个复杂的。
两个选择器有相同的特性,所以如果鼠标滑过按钮当他使能时,第二个规则取得优先权。如果我们想要text在那种情况为白色,我们可以这样
作为选择,我们也可以使第一个规则更特别
一个相同的问题产生,
两个规则都应用于QPushButton,因为QPushButton继承QAbstractButton,他可能试着假设QPushButton是更特别比QAbstractButton。尽管如此,对于风格计算,所有的类型选择器有相同的特性,最后一个出现的规则有优先权。换句话说,颜色被设置成gray对于所有的QAbstractButton,包括QPushButton。如果我们真的想要QPushButton有红色text,我们能够重新设置规则。
为了决定一个规则的特性,Qt Style Sheets效仿CSS2 Specification。
一个选择器的特性被计算像下面:
数ID属性数在选择器中。=a
数其他属性和虚假类的数目在选择器中。=b
数元素名字的数目在选择器中。=c
忽略虚假属性
连接三个数目a-b-c(在一个数目系统带着一个大的基数)给出特性。
级联:
Style sheet 能被设置在QApplication,在父窗口,在孩子窗口。一个随意的widget的有效地style sheet是被包含通过合并设置在widget的祖先的style sheet,也任何被设置在QApplication上的style sheet。
当冲突产生,widget的自己的style sheet总是跟喜欢任何继承的style sheet,不同于冲突的规则的特性。否则,父窗口的style sheet更喜欢祖父的。
这样的一个结果是设置一个style 规则在一个widget自动的,给他优先权盖过其他的规则在祖先widget的style sheet或者QApplication style sheet。考虑下面的例子,
设置对象属性:
从qt4.3和以上的版本,任何能设计的Q_PROPERTY能被设置使用qproperty-<property name>语句。
如果属性参考一个enum类型Q_ENUMS,你能参考他的常量通过名字,不是他们的数字值。

转载于:https://blog.51cto.com/no001/281736

Qt Style Sheet 翻译(中)--类似css相关推荐

  1. Qt Style Sheet实践(一):按钮及关联菜单

    http://www.cnblogs.com/csuftzzk/p/qss_button_menu.html 导读 正如web前端开发中CSS(Cascade Style Sheet)的作用一样,Qt ...

  2. Custom Looks using Qt Style Sheets

    2019独角兽企业重金招聘Python工程师标准>>> With the introduction of Qt Style Sheets, styling Qt widgets ha ...

  3. 在HTML中加入CSS有三种方式,html引入css的几种方式(复习笔记)

    一.html引入css的方式 1.内联样式 在html标签内的style属性中设定CSS样式,例如: 你好 注:在内联样式里无法写hover样式,并且这种方式不推荐使用,因为它只能改变当前标签样式,多 ...

  4. html引入css方式,HTML中引入CSS的方式

    一.认识CSS CSS:层叠样式表(Cascading Style Sheets) 样式表:如果把HTML比作人,那么样式表就是衣帽服饰,就是用来打扮HTML外观的(俗话说人靠衣服,网页靠CSS,才能 ...

  5. Qt的皮肤设计(Style Sheet)

    Qt的皮肤设计,也可以说是对Qt应用程序的界面美化,Qt使用了一种类CSS的样式规则QSS. 一.Style Sheet的应用 1.直接在程序代码中设置样式,利用setStyleSheet()方法 w ...

  6. vue在html中写style,vue开发之style(六)(CSS页面布局之样式、背景、文字)

    最近在学vue开发,并且将学习笔记与大家一起分享,前面讲了vue环境的搭建: 基于vscode的Vue前端环境搭建问题及解决办法 还有vue的使用,重点就在webpack这个: vue开发之webpa ...

  7. 什么是CSS,有什么作用?\nCSS(Cascading Style Sheet):层叠样式表语言。\nCSS的作用是:\n修饰HTM

    什么是CSS,有什么作用?\nCSS(Cascading Style Sheet):层叠样式表语言.\nCSS的作用是:\n修饰HTML页面,修饰HTML页面张的某些元素的样式,让HTML页面更好看. ...

  8. CSS(Cascading Style Sheet)

    文章目录 CSS(Cascading Style Sheet) 使用方式 基本语法 颜色写法 选择器*** 标签选择器 id选择器 类选择器 选择器分组 层次选择器 伪类 pseudo-classes ...

  9. css sheet2.0,详解CSS3.0(Cascading Style Sheet) 层叠级联样式表

    CSS3.0(Cascading Style Sheet) 层叠级联样式表 快速入门: CSS01 h1 { color: red; } 标题一 CSS的三种导入方式: 行内样式(优先级最高,但不建议 ...

最新文章

  1. 以问答形式,抽象中台领域框架
  2. Zone.js 简介 抛砖引玉
  3. 计算机和电子音乐之间的关系,浅析计算机音乐中算法作曲的特点及及作曲技法的对应关系.doc...
  4. 在php100 防恶意注册这个需要怎么填,WordPress防止恶意注册代码
  5. python入门神器 知乎_如何处理 Python 入门难以进步的现象?
  6. 多任务学习(MTL)在转化率预估上的应用
  7. 【宽度优先搜索笔记】BFS输出最短路径
  8. 双变量空间自相关_空间计量经济学的发展及其应用,经济模型总会需要
  9. Zynq7000硬件开发之总体硬件架构设计
  10. 计算机科学环境保护,计算机在环保领域中的应用
  11. 计算机声音与视频教程,电脑怎么录屏幕视频带声音 电脑录屏幕视频带声音教程...
  12. C语言二刷第七天:字符串(mooc视频;老师:翁恺)
  13. IT从业者创业公司生存指南:创业初期 ---- 指点江山,激扬文字,粪土当年万户侯
  14. 【数据竞赛】风控实操案例 | 基于Xgboost与Catboost实现非法集资企业识别
  15. 自建数据库与云数据库RDS具体内容的优缺点
  16. Unity 导航系统Navigation
  17. 如何清除Word文档中的格式
  18. 这家公司用AI生成颠覆内容创作!
  19. HTML-form表单
  20. 学了这么久数据库,你知道五大系统数据库是什么吗?

热门文章

  1. Db4o结合Linq、Lambda表达式的简单示例
  2. Windbg 教程-调试非托管程序的基本命令下
  3. jQuery的attr方法处理checkbox的问题
  4. 印度电信巨头牵手阿里云 拥有全球最大规模私有海底光缆
  5. IE相关的一些BUG汇总
  6. JDK 源码 Integer解读之一(toString)
  7. WebLogic集群案例分析
  8. 首个最全的MongoDB 3.6 全览
  9. 【腾讯Bugly干货分享】经典随机Crash之二:Android消息机制
  10. JS原始类型:数值的运用技巧