当前位置: 首页 > news >正文

完整教程:Qt-----QSS样式表

目录

  • 样式表
  • 1,样式表基本语法
    • 1.1 选择器
  • 2,盒子模型
    • 2.1 概述
    • 2.2 制作相框

样式表

setStyleSheet() 设置样式表函数。

1,样式表基本语法

QPushButton{color:red;background-color:yellow
}

整个QSS语句由两部分组成,选择器,属性
在这里插入图片描述
选择器表示对哪些控件进行样式的设置,也就是要设置样式的对象

1.1 选择器

  • 通用选择器:
// * 代表所有控件
*{font-size: 20pt;}
  • 类选择器:
QPushButton{font-size: 20pt;}
QPushButton,QLable{font-size: 20pt;}
  • ID选择器,也可以称为对象选择器:
//表示所有QPushButton类对象字体大小设置成 20pt 但是名为  btn1 的对象大小设置为 40pt
QPushButton{font-size: 20pt;}
QPushButton#btn1{font-size: 40pt;}
  • 属性选择器:
QPushButton{font-size: 20pt;}
//[] 内为属性的筛选
QPushButton[flat="true"]{font-size: 40pt;}
  • 后代选择器:
//指定只有QFrame的直接后代QPushButton,不包括后代的后代QPushButton
QFrame > QPushButton{
font-size: 20pt;
color:red;
}
//表示QFrame的·所有后代 QPushButton  包含后代的后代
QFrame   QPushButton{
font-size: 20pt;
color:red;
}
  • 子控件选择器:
//indicator表示QCheckBox的子控件
QCheckBox::indicator{border:2px solid rgb(255,255,0); width: 30px;height: 30px;}
  • 状态选择器:
//hover表示鼠标悬停在QCheckBox上面
QCheckBox:hover{color:blue;}

2,盒子模型

2.1 概述

外边框(MARGIN),边框(BORDER),内边框(PADDING),内容(CONTENT)

在使用样式表时,每个部件都被视为一个包含四个同心矩形的盒子:外边距矩形、边框矩形、内边距矩形和内容矩形。盒模型对此有更详细的描述。
盒模型

在这里插入图片描述

这四个同心矩形在概念上的呈现如下:

外边距、边框宽度和内边距属性的默认值均为零。在这种情况下,四个矩形(外边距、边框、内边距和内容)完全重合。
1,可以使用 background-image 属性为部件指定背景。
默认情况下,背景图像仅绘制在边框内部的区域。这可以通过 background-clip 属性进行更改。你可以使用 background-repeat 和 background-origin 来控制背景图像的重复方式和起始位置。

2,背景图像不会随部件大小缩放。要提供一个随部件大小缩放的 “皮肤” 或背景,必须使用 border-image。
由于 border-image 属性提供了一种替代背景,因此在指定 border-image 时,无需指定 background-image。如果同时指定了这两个属性,则 border-image 会绘制在 background-image 之上。
此外,image 属性可用于在 border-image 上绘制图像。指定的图像不会平铺或拉伸,当其大小与部件大小不匹配时,使用 image - position 属性指定其对齐方式。与 background-image 和 border-image 不同,在 image 属性中可以指定一个 SVG,在这种情况下,图像会根据部件大小自动缩放。

渲染一条规则的步骤如下:

background-image:url("D:/path/pic.jpg");
border-image:url("D:/path/pic.jpg");
image:url("D:/path/pic.jpg");
image-positon:top left

子控件
一个部件被视为一个由相互叠加绘制的子控件组成的层次结构(树)。例如,QComboBox 会先绘制下拉子控件,然后绘制下箭头子控件。因此,QComboBox 的渲染方式如下:
渲染 QComboBox { } 规则
渲染 QComboBox::drop - down { } 规则
渲染 QComboBox::down - arrow { } 规则
子控件具有父子关系。以 QComboBox 为例,下箭头的父控件是下拉控件,而下拉控件的父控件是部件本身。子控件使用 subcontrol - position 和 subcontrol - origin 属性在其父控件内进行定位。
定位完成后,可以使用盒模型对子控件进行样式设置。

注意: 对于像 QComboBox 和 QScrollBar 这样的复杂部件,如果自定义了一个属性或子控件,那么所有其他属性或子控件也必须进行自定义。

2.2 制作相框

border:10px solid brown;
border-radius:40px;    //圆角
background-color:lightyellow;
http://www.jsqmd.com/news/345277/

相关文章:

  • 2025丙烷传感器选型指南与传感器应用方案解析
  • 2026年贵州云南地区钢结构球形支座按需定制厂家哪家性价比高 - myqiye
  • 需求调研怎么做才不被牵着鼻子走?(客户说不清楚需求咋办?)
  • 华润万家购物卡回收指南助你轻松变现 - 京顺回收
  • 2026年广东公路球型支座制造企业价格大揭秘,费用多少 - 工业推荐榜
  • 如何跟老板/客户确认项目目标?总被说“目标太空”怎么办?
  • http协议下如何实现大文件切片上传的解决方案总结?
  • 盘点靠谱的公路球型支座供应商,云南市场哪家强 - myqiye
  • 公路球型支座加工厂选哪家好,湖北广西性价比高的推荐 - 工业品网
  • 多平台环境下大文件上传的通用解决方案总结?
  • 深聊公路球型支座制造厂,云南哪家技术强又靠谱 - 工业品网
  • 5G赋能物联网革命,助力智慧城市建设与工业自动化转型 - 实践
  • 百度开源上传组件实现大文件加密上传的方案总结?
  • 2026年性价比高的湿度仪厂家盘点,昶艾科技口碑出众值得选 - mypinpai
  • web页面上如何优化大文件目录结构上传的方案总结?
  • 分析提供烘焙培训开店指导机构,哪家性价比高还有贫困生帮扶 - 工业品牌热点
  • 2026年苏州小户型装修公司性价比排名,选对公司不花冤枉钱 - 工业设备
  • 2026年上海罗普斯金系统门窗靠谱生产商,安全定制超专业 - 工业推荐榜
  • CCP的消息基本格式
  • 2026年有展会经验的蔡司代理商推荐,北京地区哪家更靠谱 - 工业设备
  • 第十三课实战版:权限系统实战:RBAC + Spring Security 从 0 到可用(含核心代码)
  • 不用再到处找资源|嵌入式软件全领域实用资源汇总(建议收藏)
  • 第十三课:权限系统如何设计?——RBAC 与 Spring Security 架构
  • 浅谈三角函数恒等变形(一)
  • 【CTFshow-pwn系列】02_栈溢出【pwn 040】详解:64位 ROP 与参数传递
  • 2026年口碑好的无锡网站制作/无锡企业官网网站搭建项目经验扎实推荐 - 行业平台推荐
  • 2026年十大上海别墅装修公司/浦东别墅装修服务评价参考 - 行业平台推荐
  • 效率
  • 2026年知名的兰精人棉砂洗空气层/T2T化学法砂洗空气层高性价比推荐 - 行业平台推荐
  • 2026年口碑好的合肥考驾照理论/合肥考驾照流程口碑机构整理 - 行业平台推荐