Qt样式表是一个可以自定义部件外观的十分强大的机制,除了QStyle更改的样式,其他的都可以由QSS修改。由于受到Html的CSS启发,所以叫QSS。

  • 代码添加样式表
  • ui界面上添加样式表

代码添加样式表:

setStyleSheet() 添加样式表

在ui界面中添加两个控件:pushButton 和lineEdit

修改两个部件的背景颜色:

    ui->pushButton->setStyleSheet("background:blue");ui->lineEdit->setStyleSheet("background:yellow");

修改同一类控件的方法:

格式为:   控件类名 {   内容   }

QPusgButton{background:blue}
QLabel{background:yellow}

ui界面中的使用:

右键点击对象,点击改变样式表

可以根据上面的选项添加内容:

Qt样式表的语法:

一:样式规则

每个样式由选择器和声明组成

  • 选择器可以有多个用,隔开
  • 样式表可以不区分大小写:  color   Color  COLOR 都可以使用,但类名、对象名和Qt属性名区分大小写
  • 样式中的属性用;隔开

QPushButton {color:red}

  • QPushButton为选择器
  • {color:red} 声明
  • color为属性
  • red为值
QPushButton
{
color:red//等价于Color:red  COlor:rad  例如color,background等不区分大小写
}QPushButton,QLabel,QLineEdit//多个选择器用,隔开
{
color:red;//多个的话用;隔开
background-color:white
}

二:选择器的类型

选择器 示例 说明
通用选择器 * 匹配所有部件
类型选择器 QPushButton 匹配所有QPushButton实例和它的所有子类
属性选择器 QPushButton[flat="false"] 匹配QPushButton的属性flat为false的实例
类选择器 .QPushButton 匹配所有QPushButton实例,但不包含它的子类
ID选择器 QPushButton#button 匹配QPushButton中名为button的实例
后代选择器 QDialog QPushButton 匹配所有QPushButton实例,但必须为QDialog的子孙部件
孩子选择器 QDialog >QPushButton 匹配所有QPushButton实例,但必须为QDialog的直接子部件

三:子控件

QComboBox::drop-down{.....}

  • drop-down 代表上下箭头
  • 使用::来连接子控件
在帮助文档中搜索  Qt Style Sheets Reference  搜索更多子控件

四:伪状态

常用的伪状态:

:checked 该项目已选中
:unchecked 该项目未选中
:disabled 该项目已禁用
:editable QComboBox可编辑
:edit-focus 具有编辑焦点
:focus 输入焦点
:hover 鼠标悬停在项目上
:read-only 只读
:pressed 鼠标按下
  • 伪状态:在放在选择器之后用:隔开
  • 伪状态可以使用  !来表示否定
  • 可以使用多个伪状态(与的效果)   :hover:pressed()
  • 用,连接可以达到(或的效果)
  • 伪状态可以和子控件一起使用
QPushButton:hover//鼠标悬停
{
color:red
}
QPushButton:!hover//鼠标不悬停
{
color:red
}
QPushButton:hover:preassed//鼠标悬停且鼠标点击
{
color:red
}
QPushButton:hover,QPushButton:pressed//鼠标悬停或鼠标点击
{
color:red
}
QComboBox::drop-down:pressed//子控件和鼠标悬停
{
color:red
}

五:冲突的解决

解决方法为:

  • 特殊的选择器优先
  • 有伪装比没伪装优先
  • 特殊性相同,后出现的优先
  • 当父类和本身都有样式表并有冲突时,优先使用本身的样式表

六:继承关系

使用样式表时,部件并不会自动从父部件继承字体和颜色设置

想要继承到子部件需要这样设置样式表。

假设 QPushButton是QGroupBox的一个子部件//这样的话颜色会设置到所有子部件
//注意*前面有一个空格
QGroupBox,QGroupBox *
{
color:red;
}

七:设置QObject属性

在Qt4.3之后,任何可设计的Q_PROPERTY都可以使用"qproperty-属性名称”语法来设计样式表。

QPushButton{qproperty-pixmap:url(.....)}
Qlabel{qproperty-iconSize:20px 20px;}

QSS(Qt样式表)概念相关推荐

  1. Qt样式表之二:QSS语法及常用样式

    一.简述 Qt样式表(以下统称QSS)的术语和语法规则几乎和CSS相同.如果你熟悉CSS,可以快速浏览以下内容.不熟悉的话可以先去W3School - CSS或者本人的CSS博客随笔简单了解一下. 在 ...

  2. Qt样式表之 QSS 语法介绍;QLineEdit、

    内容来自Qt样式表之 QSS 语法介绍-3YL的博客 Qt样式表是一个可以自定义部件外观的十分强大的机制,可以用来美化部件.Qt样式表的概念.术语和语法都受到了HTML的层叠样式表(Cascading ...

  3. Qt 样式表之QSS

    前言 最近想给程序做个换皮肤的功能,于是想起了用 QSS.QSS 这个东西也算是老古董了,博主刚工作那会就有接触过,但是没有深入去了解,趁着这一次机会来学习一下.网上翻阅了一些资料,结合 Qt 的官方 ...

  4. qt 样式表 qss

    Qt样式表是一个可以自定义部件外观的十分强大的机制﹐除了那些能够通过子类化QStyle更改的外观,其余的都可以使用Qt样式表来美化. 实现办法:调用setStyleSheet 函数,其中styleSh ...

  5. qt样式表设置边框_QT样式表

    QT样式表 一.QT样式表简介 1.QT样式表简介 QSS的主要功能是使界面的表现与界面的元素分离,使得设计皮肤与界面控件分离的软件成为可能. QT样式表是允许用户定制widgets组件外观的强大机制 ...

  6. 【Qt】Qt样式表总结(一):选择器

    官方资料 https://blog.csdn.net/u010168781/article/details/81868523 注释 qss文件中使用:/**/ 来注释 样式规则 样式表由样式规则序列组 ...

  7. Qt Style Sheets(qt样式表)

    我认为qt样式表对于专注于ui交互的人,其在qt的地位不亚于信号与槽的地位.通过qt样式表可以展示绝大部分你可以想象得到的风格. qt样式表的使用是先将要特例化的样式建立在后缀qss的文件中,在程序启 ...

  8. [Qt教程] 第45篇 进阶(五)Qt样式表

    [Qt教程] 第45篇 进阶(五)Qt样式表 楼主  发表于 2013-9-13 15:43:55 | 查看: 329| 回复: 1 Qt样式表 版权声明 该文章原创于Qter开源社区 导语 一个完善 ...

  9. Qt样式表之一:Qt样式表和盒子模型介绍

    一.Qt样式表介绍 Qt样式表是一个可以自定义部件外观的十分强大的机制,可以用来美化部件.Qt样式表的概念.术语和语法都受到了HTML的层叠样式表(Cascading Style Sheets, CS ...

  10. QT样式表(QStyleSheet)

    QT样式表 (QStyleSheet) 作者:刘旭晖 Raymond 转载请注明出处 Email:colorant@163.com BLOG:http://blog.csdn.net/colorant ...

最新文章

  1. python将一个json字典转换为一个python对象
  2. 风云编程python-python网络编程(一)
  3. 透彻理解Socket网络编程
  4. redis的hGetAll函数的性能问题
  5. 添加按钮图标并且当点击或者悬浮上面出现不同效果的代码
  6. intellij 常用设置
  7. 基于消息队列 RocketMQ 的大型分布式应用上云最佳实践
  8. 大数据在2017年发展的8个预测
  9. “AI女神”李飞飞:如果我获诺贝尔奖,我一定以中国人身份去领奖
  10. 使用RQShineLabel
  11. 基于JAVA+SpringMVC+Mybatis+MYSQL的在线考试系统
  12. 在线计算一周的开始结束时间
  13. SharePoint 用户配置文件服务
  14. LabVIEW在Windows10下调出软键盘的说明与例程
  15. python 文字生成图片
  16. mysql 唯一记录_在数据库中能够唯一地标识一个记录被称为 MySQL数据库使用教程...
  17. Codeforces Round #384 B. Chloe and the sequence
  18. Java相互关注_java --关注/取消关注
  19. Windows10永久关闭系统更新
  20. 【Unity】在Unity中实现扫描二维码 生成二维码功能

热门文章

  1. 阿里矢量库(各种图标搜索功能)
  2. 安卓系统刷机怎么刷机_手机怎么刷机
  3. visio安装后导致excel滑动滚动条闪退的问题
  4. Java使用模板打印文档记录
  5. 航空系统c语言课程设计报告,c语言课程设计报告_航空订票系统西安郵電學院.doc...
  6. 《AutoCAD 2016中文版从入门到精通》——- 导读
  7. 【阅读推荐】改变你思维模式的书单
  8. 企业信息管理系统汇总
  9. 绿联网卡转接mac设置_苹果中文系统USB外置网卡驱动安装方法
  10. Android MQTT客户端