Qt-界面优化选择器的用法(70)

目录

描述

使用

类型选择器

ID 选择器

并集选择器

子控件选择器

伪控制器


描述

QSS 的选择器⽀持以下⼏种

选择器⽰例说明
全局选择器*选择所有的 widget.
类型选择器 (type selector)QPushButton选择所有的 QPushButton 和其⼦类的控件.
类选择器 (class selector).QPushButton选择所有的 QPushButton 的控件.不会选择⼦类.
ID 选择器#pushButton_2选择 objectName 为 pushButton_2 的控件.
后代选择器QDialog QPushButton选择 QDialog 的所有后代(⼦控件,孙⼦控件等等)中的 QPushButton.
⼦选择器QDialog > QPushButton选择 QDialog 的所有⼦控件中的 QPushButton.
并集选择器QPushButton,QLineEdit,
QComboBox
选择 QPushButton, QLineEdit, QComboBox 这
三种控件.(即接下来的样式会针对这三种控件都⽣效).

使用

类型选择器

选择所有的 QPushButton 和其⼦类的控件.

因为 QPushButton 继承自 QWidget 所以,对 QWidget 使用类型选择器修改样式,也会对 QPushButton 产生影响

要想不对子类修改样式,可以用下面这种方法 

类型选择器会对所有的控件都产生影响

ID 选择器

选择 objectName 为 pushButton_2 的控件.

在和期望不同的控件样式的时候,就可以使用 ID 选择器 来对单个控件的样式进行修改

同样的 ID 选择器 也有层叠样式的特性,当 类选择器 和 ID 选择器设置的样式不一致的时候,就会产生层叠

并集选择器

选择 QPushButton, QLineEdit, QComboBox 这三种控件.(即接下来的样式会针对这三种控件都⽣效).

我们也可以在  并集选择器 中添加 ID选择器

子控件选择器

参考手册

找到列表 

这里列举了很多的选择器 

我们这里使用 comboBox 控件,添加好选择,我们给

如下,我们再给这个下拉的箭头换了 

添加一个 qrc 资源

你们看,下拉按钮变成小星星啦~

伪控制器

伪类选择器, 是根据控件所处的某个状态被选择的.例如按钮被按下, 输⼊框获取到焦点, ⿏标移动到某个控件上等.
• 当状态具备时,控件被选中,样式⽣效.
• 当状态不具备时,控件不被选中,样式失效.
使⽤ : 的⽅式定义伪类选择器

伪类选择器说明
:hover⿏标放到控件上
:pressed⿏标左键按下时
:focus获取输⼊焦点时
:enabled元素处于可⽤状态时
:checked被勾选时
:read-only元素为只读状态时

如下就实现了一个与用户交互强的样式变化 

当然啦,我们也可以重写QPushButton这些动作的函数来实现上述的问题哦~

这一点我们在事件中已经讲过了哦~

void mousePressEvent(QMouseEvent* e);
void mouseReleaseEvent(QMouseEvent* e);
void enterEvent(QEvent* e);
void leaveEvent(QEvent* e);

样式属性

QSS 中的样式属性⾮常多, 不需要都记住. 核⼼原则还是⽤到了就去查

⼤部分的属性和 CSS 是⾮常相似的.

⽂档的 Qt Style Sheets Reference 章节详细介绍了哪些控件可以设置属性,每个控件都能设置哪些属性等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/892344.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Golang】关于Go语言中的定时器原理与实战应用

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

QRTCN区间预测 | Matlab实现QRTCN时间卷积神经网络分位数回归区间预测

区间预测 | Matlab实现QRTCN时间卷积神经网络分位数回归区间预测 目录 区间预测 | Matlab实现QRTCN时间卷积神经网络分位数回归区间预测预测效果基本介绍模型特性程序设计参考资料预测效果 基本介绍 Matlab实现QRTCN时间卷积神经网络分位数回归区间预测 QRTCN(Quantile Regres…

2.mybatis-plus3.x的使用

官网:简介 | MyBatis-Plushttps://baomidou.com/introduce/ 3.X版本插件使用、 1. 分页插件 配置插件(不能用的情况去官网看看最新的) Configuration MapperScan("scan.your.mapper.package") public class MybatisPlusConfig …

Django 定义使用模型,并添加数据

教材: Python web企业级项目开发教程(黑马程序员)第三章 模型 实验步骤: 1.创建项目和应用 前置步骤可看前文,进入到指定文件位置后创建 django-admin startproject mysite python manage.py startapp app01 2.注册…

DBA | 如何将 .bak 的数据库备份文件导入到SQL Server 数据库中?

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] 原文链接:DBA | 如何将 .bak 的数据库备份文件导入到SQL Server 数据库中? 如何将(.bak)的SQL Server 数据库备份文件导入到当前数据库中? Step 1.登录到 Sql…

【专题】智启未来:新质生产力引擎驱动下的智能制造行业革新报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p37856 在当今全球经济格局深刻变革的大背景下,制造业作为国家经济的基石,正处在高质量发展的关键历史时期。智能决策作为一股崭新的力量,正逐步成为推动制造业数智化转型的强大新动能。众多制造企…

每日OJ题_牛客_对称之美_哈希_C++_Java

目录 牛客_对称之美_哈希 题目解析 C代码 Java代码 牛客_对称之美_哈希 对称之美 (nowcoder.com) 描述: 给出n个字符串,从第1个字符串一直到第n个字符串每个串取一个字母来构成一个新字符串,新字符串的第i个字母只能从第i行的字…

安卓13屏蔽蓝牙匹配对话框 自动匹配 android13屏蔽蓝牙匹配对话框 自动匹配

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 设置 蓝牙连接的时候,会有匹配对话框提示。我们来实现自动配对。 2.问题分析 这里我们是通过点击操作来实现功能的,所以我们思路可以是自动点击功能的实现。 3.代码分…

Ubuntu 24.04 在 BPI-F3 上通过 SD 卡安装并从 NVME 运行

github 代码: https://github.com/rcman/BPI-F3 Ubuntu 24.04 现在正在我的 BPI-F3 上运行。很快会为 YouTube 制作一个视频。 这应该适用于任何版本的 Linux,仅在 Ubuntu 24.04 上测试过 入门 下载 Bianbu映像并使用您最喜欢的工具将其映像到微型 SD 卡…

选择排序-求和表达式

概述 选择排序算法复杂度计算,用到了求和表达式。(以前学过,现在都忘了,记录一下) 理解求和表达式的关键在于逐步拆分和简化。让我们一步一步来详细解释这个求和表达式: 求和表达式 求和表达式 分步求解 …

ESP32C3 开发板在Linux环境下,进行JTAG 调试演示-启明云端乐鑫代理商

JTAG 调试教程 本教程主要演示 esp32c3 开发板在 linux 环境下,通过 vscode 的 esp-idf 插件使用 jtag 调试工具。 esp32c3 不但内置了USB-JTAG,还内置了USB-SERIAL,仅需要一根USB线即可实现下载和调试仿真。 下面演示调试仿真的过程。 创…

系统思考—抓重点

最近与一些中小微企业的老板交流时,深刻感受到大家都陷入了一种忙碌的困境。在资源有限的情况下,到底该抓住什么?这个问题不仅关乎未来的战略,也与预算息息相关。面对复杂多变的市场环境,许多企业尝试了各种方法&#…

rpa批量发送邮件如何通过编辑器编发邮件?

rpa批量发送邮件的技巧?怎么使用rpa邮箱群发助手? 手动发送邮件变得越来越繁琐且效率低下。为了解决这一问题,越来越多的企业开始采用RPA技术来批量发送邮件。AokSend将详细探讨如何通过编辑器来实现rpa批量发送邮件的功能,从而提…

【JVM】—深入理解G1回收器——概念详解

深入理解G1回收器——概念详解 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~😊 文章目录 深入理解G1回收器…

OceanBase 4.x 部署实践:如何从单机扩展至分布式部署

OceanBase 4.x 版本支持2种部署模式:单机部署与分布式部署,同时支持从单机平滑扩展至分布式架构。这样,可以有效解决小型业务向大型业务转型时面临的扩展难题,降低了机器资源的成本。 以下将详述如何通过命令行,实现集…

【JavaScript】LeetCode:71-75

文章目录 71 搜索插入位置72 搜索二维矩阵73 在排序数组中查找元素的第一个和最后一个位置74 搜索旋转排序数组75 寻找旋转排序数组中的最小值 71 搜索插入位置 二分查找在最后一轮比较中,mid所指向的值 > target,right往左收,此时left所指…

容器实战高手课---09 Page Cache:为什么我的容器内存使用量总是在临界点

你好,我是程远。 上一讲,我们讲了Memory Cgroup是如何控制一个容器的内存的。我们已经知道了,如果容器使用的物理内存超过了Memory Cgroup里的memory.limit_in_bytes值,那么容器中的进程会被OOM Killer杀死。 不过在一些容器的使…

MybatisPlus分页Page插件

分页Page插件 首先,要在配置类中注册MyBatisPlus的核心插件,同时添加分页插件。设置分页查询的配置类,interceptor只有拦截作用,功能需要自己添加。这里我们添加上分页查询功能。 import com.baomidou.mybatisplus.annotation.DbType; impo…

Java中的数组

一、数组的创建及初始化 1、创建数组 int 表示数组中元素类型 int[] 表示数组的类型 array 表示数组名 2、数组初始化 数组初始化可分为动态初始化和静态初始化,动态初始化只初始化数组的大小,而静态初始化是直接给出数组中的具体元素 动态初始化&am…

dlib库实现人脸检测

摘要 本文将向您介绍如何使用dlib库在图片以及视频中实现人脸识别检测。通过简单的Python代码,我们将展示如何定位图片中的人脸并绘制边框。 引言 人脸识别技术在当今世界越来越普及,应用场景广泛,如安全监控、身份认证、图像处理等。dlib…