QSS(Qt Style Sheets)

QSS是Qt中用于定制控件外观的机制,类似HTML的CSS。它允许分离功能设计和美学设计,且语法灵感来自CSS。QSS支持选择器(如通用、类型、属性、类和ID选择器),子控件选择器(如子控件、伪状态)以及级联和继承规则。样式规则由选择器和声明组成,可应用于QApplication、父控件和子控件。冲突时,特定规则优先。QSS还涉及Box模型、对象属性设置及子控件的处理。了解QSS能帮助开发者更高效地自定义Qt应用程序的界面。
摘要由CSDN通过智能技术生成

 

1、QSS概述

Qt样式表(Qt Style Sheets)是一种强大的机制.允许您定制widgets的外观,除了已经通过继承于QStyle之外。概念、术语和语法的Qt样式表大量的灵感来自HTML层叠样式表(CSS),但适应世界的小部件。

样式表可以设置文本规范,在整个应用程序使用QApplication::setStyleSheet()或在一个特定的窗口小部件(和子部件)使用QWidget::setStyleSheet()。如果有几个样式表设置在不同层次上,Qt的有效样式表来自于这些所有的设置。这就是所谓的级联。

好处:1.将功能设计和美学设计分开

2.CSS设计资源多,查找容易

CSS语法学习:http://www.w3school.com.cn/h.asp

CSS 参考手册:http://www.w3school.com.cn/cssref/index.asp

注意:Qt样式表目前不支持自定义QStyle子类。

2、样式规则

1. 样式表单由一系列样式规则组成。每条规则可以分成两部分:选择器和声明

selector {
      attribute: value  }

选择器表示规则作用到哪些控件上;声明则详细说明了是什么规则。

2.Qt的样式表语法不区分大小写,所以color,Color,coLor,coloR都表示同样的颜色属性。但是指代类的类名的时候,是区分大小写的。除了“类名”,“对象名”,“Qt属性名”这三样东西是大小写敏感的外其他的东西都是大小写不敏感的,如color与Color代表同一属性。

3. 多个选择器可以并列使用,它们之间用逗号隔开,例如:

QPushButton,QLineEdit, QComboBox{
     color: red }

4.声明部分也可以有多个并列,之间用分号隔开。

3、选择器类别

1.一般选择器(selector)

      1. 通用类型选择器:*    会对所有控件有效果。
      2. 类型选择器:QPushButton 匹配所有QPushButton的实例和其子类的实例。
      3. 属性选择器:QPushButton[flat=”false”] 匹配所有QPushButton属性flat为false的实例。
      4. 类选择器:    .QPushButton   匹配所有QPushButton的实例,但不包含其子类。
      5. ID选择器:    QPushButton#okButton 对应Qt里面的objectname设置,使用这条CSS之前要先设置对应控件的objectname为okButton。
      6. 后裔选择器:QDialog QPushButton 匹配所有为QDialog后裔的QPushButton实例。
      7. 子选择器:   QDialog > QPushButton 匹配所有的QDialog直接子类QPushButton的实例,不包含儿子的儿子的递归。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值