【翻译 + 整理】Qt样式表详解(10):伪状态

2023-11-03

1、:active,部件处于活动的状态。

2、:adjoins-item,当QTreeView::branch与某个item相邻时,将设置此状态。

QTreeView::branch {
        background:red;
}
QTreeView::branch:adjoins-item {
        background:green;
}

3、:alternate如果设置了QAbstractItemView :: alternatingRowColors(true)隔行变色,那么设置隔行的item。

QTreeView {
    show-decoration-selected: 1;
}

QTreeView::item {
    color:red;
    border: 1px solid #d9d9d9;
    border-top-color: transparent;
    border-bottom-color: transparent;
}

QTreeView::item:alternate {
    color:green;
    background:"#128bf1";
}

4、:bottom、:top、:left、rightQTabWidget的置在不同方向时的tab状态(tab可设置在上下左右四个方向,默认是在上方)。例:

QTabBar::tab:bottom{
    height:200px;
}

5、:checked,项目被选中的状态。

6、:closable,项目处于可以关闭的状态,例如,QDockWidget启用了QDockWidget :: DockWidgetClosable功能。例:

    control_widget->setFeatures(QDockWidget::DockWidgetClosable);
QDockWidget::closable{
    background-color:red;
}

7、:closed,项目处于的关闭状态。如QTreeView中的非展开项。例:

QTreeView::item{
	color:blue;
}

QTreeView::item:closed{
	color:red;
}

8、:default,控件的默认状态。例:

QPushButton:default{
    color:red;
}
    ui->pushButton->setDefault(true);

9、:disabled,禁用状态。

10、:editableQComboBox的可编辑状态。例:

    ui->comboBox->setEditable(true);
  QComboBox:editable {
      background: blue;
  }

貌似此状态设置的color属性无效。

11、:edit-focus,只适合QT Extended,一般不用管它。

12、:enabled,可用状态。

13、:exclusive,QMenu独占状态(多个菜单只能同时选中一个时的状态),如处在QActionGroup中的QAction。例:

    QMenu * actionMenu = new QMenu("Action",ui->pushButton);
    QActionGroup * actionGroup = new QActionGroup(ui->pushButton);
    auto * p = actionGroup->addAction(new QAction("one", ui->pushButton));
    p->setCheckable(true);
    actionMenu->addAction(p);
    p = actionGroup->addAction(new QAction("two", ui->pushButton));
    p->setCheckable(true);
    actionMenu->addAction(p);
    p = actionGroup->addAction(new QAction("three", ui->pushButton));
    p->setCheckable(true);
    actionMenu->addAction(p);
    p = actionGroup->addAction(new QAction("four", ui->pushButton));
    p->setCheckable(true);
    actionMenu->addAction(p);
    ui->pushButton->setMenu(actionMenu);
    actionGroup->setExclusive(true);
 QMenu::item:exclusive {
    background:blue;
 }
 QMenu::item:exclusive:selected {
    background:red;
 }

14、:firstQTabBar的第一个标签。

15、:flat,按钮扁平状态(非按下时不绘制按钮背景)。例:

QPushButton:flat{
    color:red;
}
    ui->pushButton->setFlat(true);

16、:floatable,项目处于浮动状态。 例如QDockWidget启用了QDockWidget :: DockWidgetFloatable功能。例:

    control_widget->setFeatures(QDockWidget::DockWidgetFloatable);
QDockWidget:floatable{
    background-color:red;
}

17、:focus,项目获取了焦点。

18、:has-children,项目有子项目。例:

QTreeView::item{
    color:red;
}
QTreeView::item:has-children{
    color:blue;
}

19、:has-siblings,项目有同级项的项目。例:

QTreeView::item{
    color:red;
}
QTreeView::item:has-siblings{
    color:blue;
}

20、:horizontal、:vertical,项目是水平、垂直方向的。

21、:hover,鼠标悬浮在项目上面。

22、:indeterminate,不确定状态,例:

    ui->checkBox->setTristate();
QRadioButton:indeterminate {
	color:red;
}

23、:lastQTabBar的最后一个标签。

24、:maximized

25、:middleQTabBar中间的标签。例:

QTabBar::tab:middle{
    background:red;
}

26、:minimized

27、:movable,项目可以移动的状态,例如QDockWidget设置了QDockWidget::DockWidgetMovable。例:

    control_widget->setFeatures(QDockWidget::DockWidgetMovable);
QDockWidget:movable{
    background-color:red;
}

28、:no-frame,无边框状态,如QLineEdit、QSpinBox、QTimeEdit等设置setFrame(false);之后的状态。

29、:non-exclusiveQMenu非独占状态(多个菜单可以同时选中多个时的状态),如处在QActionGroup中的QAction。例:

    QMenu * actionMenu = new QMenu("Action",ui->pushButton);
    QActionGroup * actionGroup = new QActionGroup(ui->pushButton);
    auto * p = actionGroup->addAction(new QAction("one", ui->pushButton));
    p->setCheckable(true);
    actionMenu->addAction(p);
    p = actionGroup->addAction(new QAction("two", ui->pushButton));
    p->setCheckable(true);
    actionMenu->addAction(p);
    p = actionGroup->addAction(new QAction("three", ui->pushButton));
    p->setCheckable(true);
    actionMenu->addAction(p);
    p = actionGroup->addAction(new QAction("four", ui->pushButton));
    p->setCheckable(true);
    actionMenu->addAction(p);
    ui->pushButton->setMenu(actionMenu);
    actionGroup->setExclusive(false);
 QMenu::item::non-exclusive {
    background:blue;
 }
 QMenu::item::non-exclusive:selected {
    background:red;
 }

30、:off

31、:on,项目处于“on”状态,不同控件处于“on”状态的条件不同。例:QComboBox,当下拉框的下拉菜单处于展开状态时,下拉框处于“on”状态。

 QComboBox:on {
     background: green;
 }
 QComboBox::drop-down:on {
     background: red;
 }

 

 

32、:only-one,只有一项时候的状态。例如QTabBar只有一个标签的状态。

33、:open,项目处于“打开”状态。

  • QTreeView展开的项目处于“打开”状态。例:
QTreeView::item{
    color:red;
}
QTreeView::item:open{
    color:blue;
}

  • 有菜单的QPushButton显示菜单时,QPushButton处于“打开”状态。例:
QPushButton{
    color:red;
}
QPushButton:open{
    color:blue;
}

34、:next-selected、:previous-selected,当一个项目被选中时它前面、后面的项的状态。例:

QTabBar::tab{
	min-width: 80px;
	min-height: 25px;
	color:#000000;
	margin-right:1px;
	border: 1px solid #D9D9D9;
	border-left: none;
	border-right: none;
	border-top: none;
	background:#FFFFFF;
}

QTabBar::tab:selected{
	border-style:solid;
	border-color:#00beac;
	border-width:3px;
}

QTabBar::tab:next-selected{
	background:red;
}

QTabBar::tab:previous-selected{
	background:green;
}

35、:pressed,项目被鼠标按下的状态。

36、:read-only,项目处于只读状态,可以设置setReadOnly()的控件都可设置此状态(编辑框、微调框、时间日期框、可编辑的下拉框等)。例:

ui->comboBox_4->setEditable(true);
ui->comboBox_4->lineEdit()->setReadOnly(true);
QComboBox:read-only{
    color:red;
}

37、:selected,项目被选择,从多个项目中选择了一个。如QTabBar被选中的标签的状态、QMenu被选中的菜单项的状态。 

38、:unchecked,项目未被选中的状态,和:checked对应。

注:selected和checked的区别。selected是从多个同类型项目中选择了一个,checked是将一个项目的状态从选中/未选中(checked/unchecked)中选择了将之设置为checked状态。

39、:window,当小部件是一个窗口的时候的状态。例:

    QPushButton * w = new QPushButton(this);
    w->setWindowFlags(Qt::Window);//设置小部件为窗口
    w->setStyleSheet("QPushButton:window{background:red;}");
    w->setAttribute(Qt::WA_DeleteOnClose);//关闭后删除对象
    w->resize(200,200);
    w->show();

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【翻译 + 整理】Qt样式表详解(10):伪状态 的相关文章

  • JavaWeb实现记住密码功能(使用Cookie)

    JavaWeb实现记住密码功能 使用Cookie 1 Cookie知识点 cookie介绍 背景 HTTP协议作是 状态协议 状态指每次request请求之前是相互独 的 当前请求 并不会记录它的上 次请求信息 存在这样的问题 既然 状态
  • 内联函数

    引入内联函数的目的是为了解决程序中函数调用的效率问题 函数是一种更高级的抽象 它的引入使得编程者只关心函数的功能和使用方法 而不必关心函数功能的具体实现 函数的引入可以减少程序的目标代码 实现程序代码和数据的共享 但是 函数调用也会带来降低
  • 【实践经验】cp 错误:cannot create regular file ‘../../src/ood1.jpg‘: No such file or directory

    今日在linux拷贝文件的时候 出现这个错误感觉很奇怪 命名目标目录是存在的 但是为什么会报错呢 其实出现这个问题的原因是 你所看到的目录结构可能不是真正的目录结构 比如我在拷贝的时候执行的命令是 cp 806252c538fffb0948
  • uniapp App调试及更新

    uniapp App专题 本章主要对App的调试方式 虚拟机 物理机 安装及更新方面进行总结 连接设备进行调试 准备工作 首先需要打开设备的开发者模式 设置中找到版本号 连续点击版本号直到出现提示 您现在已处于开发者模式 点击进入开发者选项
  • CocosCreator中的Prefab文件格式总结

    CocosCreator所有的Prefab都是以下类似的格式 我们学会用文本编辑器查看Prefab文件 可以帮助我们更轻松的查找节点 查看节点和组件信息 批量修改节点和组件信息等等 因为在文本编辑器中的Prefab文件才是原始的 而且Coc
  • 【clion】实现类似自定义代码自动补全的功能(懒人利器)

    比如我有句代码是经常要使用的 如下 freopen Users zhangkanqi Desktop 11 txt r stdin 但是自动补全里并没有这句话 网上也没有找到如何自定义自动补全的语句 学艺不精 可是我每次又懒得写这句话 因为
  • Java数据存储类型ArrayList、HashSet、HashMap、LinkedList使用不同遍历方法效率研究By Python

    Java不同数据存储类型使用不同遍历方法效率研究 GitHub代码仓库 数据存储类型 ArrayList HashSet HashMap LinkedList 遍历方法 传统遍历方法 for int i 0 i
  • 设计模式(三)工厂方法模式

    前一篇文章介绍了简单工厂模式 留下了一个疑问 如果需要扩展员工等级 有没有不修改既有接口的方式 答案就是工厂方法模式 既然员工的职级可以扩展 那创建对应职级员工的工厂是不是也可以扩展 工厂基类提供一个接口获取具体的产品 一旦有新的产品 就创
  • C++ day7

    简单vector include
  • CGAL 二维点集的凸包提取

    目录 一 凸包 二 代码实现 三 结果展示 一 凸包 用不严谨的话来讲 给定二维平面上的点集 凸包就是将最外层的点连接起来构成的凸多边形 它能包含点集中所有的点 百度百科 凸包 二 代码实现 include
  • 基于matlab和FFT算法实现信号频谱分析

    系列文章目录 数字信号处理 DSP Digital Signal Process 是电子通信领域非常重要的研究方向 博主汇总了数字信号处理 DSP 中常用的经典案例分析 主要基于算法分析 MATLAB程序实现 信号图像显示 对数字信号处理的
  • 算法竞赛入门经典(第二版)-刘汝佳-第十章 数学概念与方法 例题(16/29)

    文章目录 说明 例题 例10 1 例10 2 例10 3 例10 4 例10 5 未尝试 例10 6 例10 7 例10 8 例10 9 例10 10 例10 11 例10 12 例10 13 例10 14 例10 15 例10 16 未尝
  • platform设备驱动实验

    一 Linux 驱动的分离与分层 1 驱动的分隔与分离 传统驱动编写思路如下图 下图这个就是 Linux 中的总线 bus 驱动 driver 和设备 device 模型 也就是常说的驱动分离 2 驱动的分层 分层的目的也是为了在不同的层处
  • Golang 中 sync/atomic 包的原子操作

    背景 Go中多协程的情况下 要保证操作的原子性 一般要使用RWMutex或者Mutex 但是锁使用起来比较复杂 还要考虑lock 和unlock 顺序和成对出现 不注意就容易出错 于是在sync atomic包中 把我们常用的一些操作封装成
  • JDBC技术获取数据库时间字段

    MySQL数据库中datetime类型格式为0000 00 00 00 00 0 0 如2014 05 01 12 30 00 0 查询到了数据库中的结果集 ResultSet的对象后 要获取完全的时间需要用ResultSet对象的getT
  • Django实战之文件上传下载

    项目介绍 最近学习django 通过文件上传下载这个小项目 总结下常用的知识点 做这个案例我有以下需求 1 要支持一次上传多个文件 2 支持上传后记录上传的数据以及列表展示 3 支持下载和删除文件记录 效果展示 数据库记录 开发步骤 创建项
  • 数据挖掘入门

    目录 前言 简介 挖掘对象 挖掘步骤 分析方法 常用算法 神经网络法 决策树法 遗传算法 粗糙集法 模糊集法 关联规则法 面对的挑战 前言 不知不觉就步入了研究生的大门 蓦然回首 大学四年时光如流水 正如歌词唱的那样 转眼就各奔东西 工作的

随机推荐

  • R语言grep函数用法

    通常被用来进行数值计算比较多 字符串处理相对较少 而且关于字符串的函数也不多 用得多的就是substr strsplit paste regexpr这几个了 实际上R关于字符串处理的功能是非常强大的 因为它甚至可以直接使用Perl的正则表达
  • PYTHON自动化框架总结:SELENIUM+PYTEST+ALLURE

    文章目录 一 PYTEST 1 使用pytest执行测试需要遵循的规则 2 数据驱动 3 pytest fixture 4 结合ALLURE报告 5 pytest assume 二 接口自动化内容 1 接口自动化重要性 2 接口自动化平台的
  • CTFshow web入门——文件上传

    目录 Web 151 考点 后端无验证 前端校验 Web 152 考点 绕过前端校验 Web 153 考点 文件后缀名 黑名单 Web 154 155 考点 文件内容过滤 过滤关键字是php Web 156 158 Web159 Web 1
  • 解决:Hbuilder工具点击发行打包,一直报尚未完成社区身份验证,请点击链接xxxxx,项目xxx发布H5失败的错误。[Error]尚未完成社区身份验证

    全世界任何漂亮有魅力的女生 都不会因为你送她汉堡或奶茶而对你说我爱你 明白吗 你应该带她做一些特别的事情 让她感动 日常笔记 解决 Hbuilder工具点击发行打包 一直报尚未完成社区身份验证 请点击链接xxxxx 项目xxx发布H5失败的
  • QT之运行exe文件时缺少xxx.dll文件

    使用QT最大的好处和方便的可能就是他的输出为exe文件 将这个文件直接复制到其他人的电脑上便可以直接运行 十分的便捷 但是我们有时候我们发现我们自己写的QT生成的exe文件没有办法直接在自己的电脑上打开 或者有时候copy别人的项目时 发现
  • java中的几种加密方式

    第一种 DES加解密 import java security Key import java security SecureRandom import javax crypto Cipher import javax crypto Key
  • React-resize窗口监听

    import React useState useEffect useCallback from react 创建自定义函数来写入方法 function UseWillSize const size setSize useState wid
  • [CVPR-21] Scale-aware Automatic Augmentation for Object Detection

    Scale aware Automatic Augmentation for Object Detection code GitHub dvlab research SA AutoAug Scale aware Automatic Augm
  • Qt概述和项目文件介绍

    注意 学习本专栏的内容需要了解C 相关知识 会涉及到C 基础语法和相关特性 可以参考我的另一个专栏 c 从零开始 小梁今天敲代码了吗的博客 CSDN博客 目录 一 什么是Qt 二 Qt的案例 三 项目文件介绍 一 什么是Qt 是一个跨平台的
  • gRPC的介绍、安装与使用

    1 gRPC是什么 在 gRPC里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法 使得您能够更容易地创建分布式应用和服务 与许多 RPC系统类似 gRPC也是基于以下理念 定义一个服务 指定其能够被远程调用的方法
  • OpenCV(四)——图像特征与目标检测

    课程一览 目录 1 图像特征的理解 2 形状特征描述 2 1 HOG原理 2 2 Harris 2 3 SIFT
  • android上java.util.ConcurrentModificationException错误解决

    今天在运行Android代码 发现程序崩溃了 发现错误为 java util ConcurrentModificationException 错误栈在list里面 然后 看异常变量 为list本身错误 笔者马上想起来了 list和vecto
  • 计算机网络--IP数据报格式

    解析 1 版本 占4位 指IP协议的版本 通信双方使用的IP协议版本必须一致 目前广泛使用的IP协议版本号为4 即IPv4 2 首部长度 占4位 可表示的最大十进制数值是15 请注意 这个字段所表示数的单位是32位字长 1个32位字长是4字
  • WIN10上UG10.0安装步骤及出错解决

    UG10 0安装步骤及出错解决 准备安装包UG10 0 安装软件 安装java虚拟机 运行launch 安装授权 安装主文件 破解 准备安装包UG10 0 下载链接 提取码 s4dh 安装软件 安装java虚拟机 以管理员身份运行 运行la
  • yaml文件的数据

    com alipay function test base TestData caseName 1 查询店铺详情 queryStoreDetailV2 description normal dataItems loginid 1342708
  • 使用JPA根据实体类生成数据库表

    springboot数据库 一 springboot JPA JPA springboot jpa 数据库的一系列的定义数据持久化的标准的体系 学习的目的是 利用springboot实现对数据库的操作 第一步 添加springboot da
  • 获取JavaScript时间戳函数的方法和js时间戳转时间方法

    文章目录 一 JavasCRIPT时间转时间戳 方法一 Date now 方法三 valueOf 方法四 getTime 方法五 Number 二 js时间戳转时间 方法一 生成 yyyy MM dd 上 下 午hh mm ss 格式 方法
  • java字符串

    java字符串 java字符串 一 String类 一 特点 二 构造方法 String str abc 与 String str2 new String abc 的区别 三 常用方法 intern String类拼接 字符串转数字 字符串
  • linux qt目录查看,QT遍历目录获取文件信息

    QFileInfo获取文件信息 文件名称 路径 大小 创建时间 修改时间 权限等使用路径 UNIX home dipper file1Windows C dipper file1 构造函数 QFileInfo fileInfo path Q
  • 【翻译 + 整理】Qt样式表详解(10):伪状态

    1 active 部件处于活动的状态 2 adjoins item 当QTreeView的 branch与某个item相邻时 将设置此状态 QTreeView branch background red QTreeView branch a