QT之初识QSS

Qt QSplitter任意拆分窗口 1)新建一个QSplitter,就意味着新建了一个QWidget   2)不同的QSplitter对象通过指定父子关系来完成嵌套(划分窗口)   3)QSplitter可以放置到你指定的任何窗口内 阅读详情

1.QT官方文档学习,提炼如下:

  (1)概述  

QSS机制用于设置窗体的外观,使用方式与CSS非常相似。

  使用setStyleSheet方法设置窗体或者整个应用的样式表(style sheet),如果在不同的窗体继承级别中设置了不同的样式表,QT将从所有设置中派生出一个合适的样式表,因此样式设置是串行的(cascading)。Style Sheet实现在widget style之上,但它能够保证在所有平台上的实际效果都接近于设置,且在Qt Designer中能够预览样式效果。

  当style sheet被激活时,QWidget::style()返回的将是一个被包装过的(style sheet)样式,该样式确保所有被激活的style sheet设置都被采用,否则会将绘制操作传给底层依赖于平台的样式(style sheet)。

(2)语法

style sheet由一系列风格设置组成,每一个设置包括两个部分:选择器和声明。选择器用于筛选哪些窗口会被影响,声明确定了窗口的哪些属性会被设置。使用格式:选择器1,选择器2...{属性1:值1;属性2:值2...}

基本的选择器有以下几种:

  *           匹配所有widget            举例:*{color : red},所有窗体color属性都设置为红色

  类名     匹配该类及其子类的全部实例     举例:QPushButton{background_color : white}  

  属性选择器   匹配属性为指定值的widget       举例:QPushButton[flat="false"]。使用~=可测试QStringList中是否含有指定值

  ID选择器      匹配对象名为指定值的widget      举例: QPushButton#saveButton

  层叠选择器      匹配指定基类的所有子类       举例:QDialog  QPushButton,匹配所有派生自QDialog的QPushButton对象

  子类选择器      匹配指定父类的所有直接子类       举例:QDialog  >QPushButton,匹配直接派生自QDialog的QPushButton对象

获取子类的控制:

如果要配置比较复杂的窗体样式,我们可能需要获取窗体的子控件,比如组合框种的下拉箭头或者数据框中的上下箭头。选择器可以获取子控件使其遵从某种规则。比如:

//将组合框的下拉箭头设置为默认样式
QComboBox::drop-down { image: url(dropdown.png) }    

子控件的位置是以父窗体为参考的。例如:组合框的下拉箭头是在组合框填充矩形的top right位置,但在下拉控件中(drop-down widget)中,下拉箭头位于中心位置(center)。使用subcontrol-origins属性可以设置控件的padding rectangle

//将下拉箭头放在组合框的margin rectangle中,而不是默认的padding rectangle中
 QComboBox {
     margin-right: 20px;
 }
 QComboBox::drop-down {
     subcontrol-origin: margin;
 }

width和height属性用于设置控件大小,如果将子控件设置为指定图片,那么子控件的大小被设置为照片大小。

使用相对位置能够使控件在原位置的基础上发生偏移,比如:在下拉箭头被触发时位置发生偏移表示pressed效果

QComboBox::down-arrow {
     image: url(down_arrow.png);
 }
 QComboBox::down-arrow:pressed {
     position: relative;
     top: 1px; left: 1px;
 }

本想看完QT上qss相关教程的,但使用了一周发现qss的使用只是熟练度的问题,无非是对一些已有的属性不知晓,后面的内容就不总结了。对于和我一样刚接触qss的同学呢,我觉得知道怎么查阅qss文档来完成编码或许更重要:在assistant中搜索style sheet,在界面中找到Qt Style Sheet Reference就可以查阅控件的qss属性了。

浅谈QT中qss样式表 一、前言 本人是今年毕业的一名本科生,作为码农小白,或是膜拜于代码大神、博客大佬,或是想在枯燥的工作生活中找些乐子,或是纯粹的想记录一下自己的成长历程,突然就萌发了偶尔写写博客的心思,抱有着记录一下自己在工作中或是空闲时间学习到的一些知识,可能会对一些有需要的人一些启发或是之后自己如果遇到同样的问题可以方便的去找到解决方法。作为小白,现在的目标当然就是早日成为一名小牛,好好学习,天天向上。 二、什么是qss样式表? qss样式表和css层叠样式表是差不多的东西,都是用于... 阅读详情

相关推荐

QT中使用QSS进行界面美化及很好的QSS样式表

一、使用QSS进行界面美化 在qt编辑器中选择窗口----> 改变样式表 —> 输入qss样式代码,可以控制qss对应窗口控件样式,右击 某个控件----> 改变样式表 —>输入qss样式代码,可以控制这个控件的样式。如下: 原来的界面: 加入QSS样式的界面: 二、 很好的QSS样式表 1.https://github.com/GTRONICK/QSS 2. 自...

哲学天空的博客 4万+

QT之qss教程-QSplitter

QSplitter::handle { image:url(:/images/444.bmp); } QSplitter::handle:horizontal { width:5px; } QSplitter::handle:vertical { width:15px; } QSplitter::handle:pressed { background-color:red;

wzs的博客 4617

Qt之QSS使用

CSS,是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性。        借用CSS的灵感,

m沉默 1万+

QSplitter QSS hover失效的解决办法

关于QSplitter在样式表中鼠标悬浮失效的解决方法: #include "widget.h" #include <QSplitter> #include <QTextEdit> #include <QVBoxLayout> Widget::Widget(QWidget *parent) : QWidget(parent) { QVBo...

不会飞的纸飞机的博客 3103

Qt之QSS的使用及常用控件的样式设置

原地址:https://mp.youkuaiyun.com/mdeditor/101059491 纯干货哦! 什么是QSS Qt Style Sheet简称QSS,Qt的样式表,模仿CSS,为Qt界面设置炫酷的展示效果。 如何使用QSS 推荐使用第二种方式 方式一:在界面中设置 不推荐使用 在编辑器中找到要设置样式的.ui文件,双击该文件,在界面编辑器中显示该文件 在界面编辑器的右侧,右键单击,在弹出的右键...

weixin_40425059的博客 8792

【QT】QSS美化——基础知识_qt qss

17种标准色:aqua, black, blue, fuchsia, gray, green, lime, maroon, navy,olive, orange, purple, red, silver, teal, white, yellow。所有QFrame容器下面的QPushButton,其中要求QPushButton的直接父容器是QFrame,注意和后代选择器的区别。匹配所有flat属性是false的QPushButton实例,注意该属性可以是自定义的属性,不一定非要是类本身具有的属性。

2401_87555477的博客 1451

Qt-界面优化QSS初识(68)

Qt-界面优化QSS初识

weixin_67595436的博客 582

编写更美观的QT程序——QSS和property的使用

QT提供了QSS(QT Style Sheet)样式表来方便的自定义控件的外观来制作美观的程序界面,其语法与CSS类似 本文从以下几个方面介绍如何应用QSS 目录 一、如何加载QSS 二、常用控件的QSS 三、QSS的选择器 四、QSS冲突 五、自定义QSS属性 六、在运行时根据状态属性加载不同的QSS 一、如何加载QSS 常用的有三种方法: 1、统一加载QSS文件,应用于整个程序的控件 在main函数中 QApplication a(argc, argv); a.setStyl

baozhu_gungun的博客 3848

Qt 样式表之QSS

QSS 简介 QSS 全称为 Qt Style Sheets 也就是 Qt 样式表,它是 Qt 提供的一种用来自定义控件外观的机制。QSS 大量参考了 CSS 的内容,只不过 QSS 的功能比 CSS 要弱很多,体现在选择器要少,可以使用的 QSS 属性也要少很多,并且并不是所有的属性都可以用在 Qt 的所有控件上。 QSS 语法高亮 通过 “工具” -> “选项” 进入设置,通过 “text/css” 快速定位,然后在详情中添加 “*.qss” 即可实现 QSS 文件语法高亮,注意分隔符用 ‘;’

billy的博客 1万+

「QT」QSS样式表 之 QSS(Qt Style Sheets)样式表介绍

Qt样式表(QSS)作为一种强大的工具,允许开发者定制和美化Qt应用程序的界面。QSS类似于网页开发中的CSS(层叠样式表),通过定义样式规则来控制Qt控件的外观。QSS为Qt应用程序提供了强大的样式定制功能,能够显著提高用户界面的美观性和一致性。通过灵活的样式定义和动态调整能力,QSS帮助开发者快速实现各种设计需求,提高了开发效率和用户体验。它允许开发者通过选择器指定不同类型的控件,并设置属性值,如颜色、字体、边框、间距等。QSS的语法类似于CSS,使用选择器和属性来定义控件的样式。

何曾参静谧的博客 1310

自定义QSplitter控件的QSS样式

在Qt Creator中,我们可以通过点击左下角的“Edit”按钮打开QSS样式表编辑器,然后将上述代码复制到样式表中即可实现自定义样式。但是默认的QSplitter样式可能不能满足我们的需求,因此本文将介绍如何使用QSS对QSplitter进行自定义样式的设置。上述代码中,我们首先为QSplitter设置了背景色和边框样式,然后针对QSplitter的分割条(handle)设置了宽度、背景色和边框样式。接下来,我们可以在QSS样式表中为QSplitter控件设置背景色、边框样式、分割条大小等属性。

2301_79331230的博客 2603

【QT】QSS

有关于qt界面的美化~

s_little_monster的博客 9569

QT:QSS自定义 QSplitter实例

QT:QSS自定义 QSpinBox实例

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1338

【QT QSS系列】QSS语法深入及开发设计

如上图,可以通过右键按钮->改变样式表或者右边属性框中的styleSheet访问到控件的样式表,进行QSS编写。使用该方式的好处在于,可以直观看到设计效果,通过Ctrl+R就可以预览窗体设计。并且在编辑样式表窗口中添加资源、添加渐变、添加颜色、添加字体,方便直接编辑特定样式的颜色。!!!重点】:此类方式编辑的样式表默认作用于当前控件及其所有子控件,符合QT 父子控件继承的设计思想,当然QT也提供了相应QSS语法,能够屏蔽掉继承的影响,详见2.2.3选择器。

沭沭wen 2440

QT中QSS设置的三种方法

什么是QSS QSS称为Qt Style Sheets也就是Qt样式表,它可以应用于Qt部件(Widgets)和绘制元素,以定制和美化用户界面。QSS大量参考了CSS的内容,只不过QSS的功能比CSS要弱很多, 体现在选择器少,可以使用的QSS属性也要少很多,而且并不是所有的属性都可以用在Qt的所有控件上。 二.QSS三种设置方法 方法一: 1.QSS文件示例 方法二: 1.QT程序中直接设置QSS 方法三: 1.在控件界面中直接设置qss

热土程序园,利他愉己~ 3910

qss蓝色调布局

qss蓝色调布局,放在QT界面设计中图个简单,图个方便.

Qt中QSS的简单使用

样式表的组成 样式表由两大元素组成:选择器和声明。选择器实际上可以理解为对象,声明则是对该对象的属性的设置。 样式表的使用 方法一:在代码中调用setStyleSheet()来设置样式; 方法二:通过加载qss文件来设置样式。 ...

肩上风骋的博客 1万+

STM32测测速---编码电机读取速度的计算

速度计算:轮胎每转一圈的脉冲数取决于编码器的分辨率,可由下面公式进行计算:PPR是电机的线数最后可以计算轮胎每转一圈的脉冲数为:轮胎每转一圈的脉冲数 = 9.6 × 11 × 4 = 422.4最后的速度公式简化为:速度 = (0.01 秒内产生的脉冲数 ∗ 0.055 ∗ π )/(0.01 ∗422.4​。

weixin_69414084的博客 3811

Qt之QSS使用与基本语法

一、QSS介绍 QSS是一种从CSS借鉴过来的机制,用来实现对控件外观的自定义。但是它比CSS功能要弱化一些,有一些属性和选择器,QSS并没有。 Qt中的各个控件可以使用QSS来实现界面的个性化定制、美化,使用起来也是特别方便的。 二、QSS使用与语法 我们接下来以一个简单地例子来,说明怎么使用qss修改界面外观。 1、举个栗子 设置QLineEdit控件背景色为黄色。 qApp->setS...

百里杨的博客 1万+

用Linkboy玩转Arduino:3小时搞定智能倒车雷达(附仿真文件下载)

本文详细介绍了如何利用Linkboy图形化编程工具,在3小时内快速搭建一个基于Arduino的智能倒车雷达项目。通过仿真环境,初学者无需硬件即可学习超声波测距原理、报警逻辑设计,并完成从虚拟仿真到实体硬件的完整流程。文章提供了清晰的步骤、调试技巧及功能扩展思路,并附有仿真文件,是入门Arduino和智能硬件制作的绝佳实践指南。

weixin_29159441的博客 403

RobotStudio码垛机器人创建过程

首先导入一个IRB2600机器人,移动夹具的本地坐标原点,使原点位置为顶面中心(与法兰盘连接的部位)。对齐夹爪Smart组件的本地坐标和机器人末端法兰盘的坐标...

个人博客 1万+
上一篇: 算法学习之--进阶排序算法(时间复杂度O(nlogn))
下一篇: 算法学习之--最大堆与索引堆
angry ant
博客等级 码龄10年 9粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值