Qt重新加载内存中的QSS样式

2023-11-03

什么叫重新加载内存中的QSS样式

当QSS被封装到QSS文件时,需要使用这个QSS,需要将其读出来;
理论上说,读出来后,其在程序结束之前应该就一直保存在内存中;
当我们给控件设置一个动态属性,在该QSS中存在不同属性,不同样式的时候,在程序运行中已经加载的样式不会重新加载
那么当我们需要重新加载该QSS时,除了再次打开文件加载还有其他方式

解决方法

Qt中继承QWidget的控件存在一个获取QStyle指针的函数style(),该函数返回的指针对象包含unpolish(QWidget *widget) 和polish(QWidget *widget)两个方法,使用这两个方法可以将QSS的样式可将已设置的样式进行卸载和样式重新加载(初始化),然后使用update()函数更新
例:当我们有一个按钮叫button需要重新加载样式

        button->style()->unpolish(button);  //卸载button之前的QSS样式
        button->style()->polish(button);    //重新加载(初始化)button的样式
        button->update();     //加载button的新样式

当样式是在代码中设置时也可以使用控件的styleSheet()函数获取QSS字符串进行重设

注:文章为作者编程过程中所遇到的问题和总结,内容仅供参考,若有错误欢迎指出。
注:如有侵权,请联系作者删除

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

Qt重新加载内存中的QSS样式 的相关文章

  • QGraphicsScene没有删除QWidget的功能

    QGraphicsScene 有一个addWidget QWidget 有函数 但是没有对应的removeWidget QWidget 它只有removeItem QGraphicsItem 如何删除 QWidget 这是一个基本示例 看看
  • 如何在 QT 安装程序框架中区分每用户安装与系统范围安装?

    我正在使用一些名为 pgModeler 的应用程序 它的当前版本提供了一个基于 QT 安装程序框架的安装程序 Windows 上该安装程序的问题是它安装每个用户的开始菜单条目 https github com pgmodeler pgmod
  • 加载 QPixmap 数据的更好方法

    更好的方法来做到这一点 没有QImage QImage image width height QImage Format RGB888 memcpy image bits m frameRGB gt data 0 height width
  • Qt5和QML:如何使用WebEngine Quick Nano浏览器自动输入用户名和密码

    我正在使用编写一个小应用程序Qt and QML使用 Qt 文档中的示例WebEngine Quick Nano 浏览器 https doc snapshots qt io qt5 5 9 qtwebengine webengine qui
  • QML:无法读取未定义的属性“xxx”

    ApplicationWindow id root property string rootName rootName visible true width 800 height 400 title qsTr WatchFace Maker
  • 如何使用 Qt DOM 通过此语法获取 xml 属性

    我正在使用 Qt DOM XML 解析器 并且遇到了如下属性定义的问题
  • 用 C++/Qt 编写的程序中的 RTF / doc / docx 文本提取

    我正在写一些程序Qt https en wikipedia org wiki Qt 28software 29 C 我需要从中读取文本微软Word https en wikipedia org wiki Microsoft Word RTF
  • QComboBox 下拉项边距

    我想设计我的风格QComboBox为下拉项目留出边距 现在是这样的 我想要这样的东西 我尝试过 QComboBox QAbstractItemView item margin 3px 但它不起作用 你能帮我解决这个问题吗 您想在项目之间设置
  • 获取 QListView 中所有可见项目的简单方法

    我正在尝试使用 Qt Framework 开发一个图像库应用程序 应用程序从所选文件夹加载所有图像 并使用 QListView 控件显示这些图像 但现在我想通过仅加载用户可见的图像来减少内存消耗 由于没有直接函数来获取视图中的所有可见项目
  • Qt 为什么使用 QString::number() 而不是 QLocale().toString()?

    我正在开发的应用程序将在许多国家推出 并且需要支持他们的语言 我一直在回顾我的代码并替换以下每个实例 QString number and QString toDouble with QLocale toString and QLocale
  • 如何去除QWizard中的水平线?

    我正在研究一个样式表QWizard我想删除按钮上方的水平线 我尝试递归浏览所有小部件并将其边框设置为无 但似乎没有任何小部件具有此边框 这是我的代码 可以找到完整的可构建示例here https gist github com ardeid
  • QTableView 并双击一个单元格

    我正在开发测试用例编辑器 该编辑器包含 USART 传输和接收数据包格式 编辑器是一个表格视图 发送和接收数据包的长度为八个字节 例如 0x01 0x02 0x03 0x08 它在我的第五和第六栏中 现在 我希望此列中的单元格为只读 但是当
  • PyQt4 QPalette 不工作

    btn QtGui QPushButton Button self palettes btn palette palettes setColor btn backgroundRole QtCore Qt green btn setPalet
  • 如何doxygen注释Qt属性?

    我想将 Doxygen 注释附加到我的 Q PROPERTY 例如 song h class Song public QObject Q OBJECT private Q PROPERTY QString title READ title
  • 无法运行 Qt 应用程序:找不到版本“Qt_5”

    我运行 Ubuntu 16 04 LTS 我的问题是我无法运行可以编译的 Qt5 应用程序 这是我尝试运行它时得到的结果 home user Desktop sconfig dist Release GNU Linux SCongif us
  • 使用 QGraphicsScene 实现流畅的动画

    我希望我的问题并不总是同样的问题 我有一个 QGraphicsScene 它的项目是一些 QGraphicsPixmap 我用一个计时器来移动它们 每秒 SetX 10 我设置 10是因为窗口大100 使用这个解决方案我的动画不流畅 我想我
  • QFileSystemModel setRootPath

    我正在尝试创建一个 Qt 应用程序来显示文件夹 Mac OS 中的 Users 文件夹 的内容 这是代码 QFileSystemModel dirModel new QFileSystemModel dirModel gt setRootP
  • QML 列表视图拖放

    我想创建两个 qml 列表视图 可以执行两个功能 拖放一个列表中的项目以更改项目的顺序 跨列表拖放项目 项目将从一个列表中删除并添加到另一个列表中 根据 Qt 文档中的拖放示例 我决定创建两个访问同一列表模型的列表视图 列表模型中的每个项目
  • Qt 支持 Windows 蓝牙 API 吗?

    谁能告诉我 Qt 是否支持 Windows 蓝牙 API 如果是这样 您能否分享一些有关如何使用它的信息 自上次答复以来 这个问题的答案发生了一些变化 Qt 5 2 版为 Linux BlueZ 和 BlackBerry 设备实现了蓝牙 A
  • Q风格所有权

    在 Qt 应用程序中使用样式时 我遇到了一个有趣的问题QStyle所有权 QStyle继承自QObject 通常接受QObject parent作为构造函数参数来管理其子级的生命周期 但QStyle的构造函数没有此构造函数参数 第一个问题

随机推荐

  • 静电、浪涌与TVS(测试标准、参数、选型)

    静电 浪涌与TVS 测试标准 参数 选型 作者 AirCity 2020 2 14 Aircity007 sina com 本文所有权归作者Aircity所有 ESD和浪涌问题往往是基带工程师最头疼的问题 因为测试标准严苛 问题神出鬼没 特
  • 如何输出long long型数据

    include
  • 每日学术速递6.13

    CV 计算机视觉 ML 机器学习 RL 强化学习 NLP 自然语言处理 Subjects cs CV 1 Tracking Everything Everywhere All at Once 标题 一次跟踪所有地方的一切 作者 Qianqi
  • gcc: command not found

    在linux出现gcc command nof found时 查看是否已经安装了gcc 查看命令 rpm q gcc root localhost local rpm q gcc package gcc is not installed从g
  • 蓝桥杯真题:回文日期

    题目描述 2020 年春节期间 有一个特殊的日期引起了大家的注意 2020 年 2 月 2 日 因为如果将这个日期按 yyyymmdd 的格式写成一个 8 位数是 20200202 恰好是一个回文数 我们称这样的日期是回文日期 有人表示 2
  • ActivityThread分析

    以前看了很多 时间长了都忘了 所以还是勤快点 把看到的都记下来 算是给自己点积累 Activity启动分为很多种情况 这里说的是打开新的应用程序第一个Activity的流程 1 AcitivityManager产生新进程 新进程从andro
  • 打印机的共享设置方法

    共享打印机的前提是 共享的这台电脑和要连接打印机的这些电脑必须在同一个局域网中 第一步 在开始菜单当中 找到设备和打印机 这里有个前提 就是要共享的这台打印机必须已经连接并安装好驱动程序 第二步 找到我们要共享的这台打印机图标 第三步 在这
  • TOMCAT-部署项目-tomcat 不能多启动问题解决方案

    tomcat 不能多启动问题 解决方案 更改tomcat server xml 所有涉及端口 8089 端口 8005 8089 8443 8009 8088 端口 8006 8088 8444 8010
  • Python数据分析-绘图-2-Seaborn进阶绘图-7-网格图

    一 FacetGrid 该函数可以绘制最多三个维度 row col hue 行 列和颜色 使用数据集构造网格的变量初始化对象 可以通过调用map函数或map dataframe函数将一个或多个绘图函数应用于每个子集 或包含在relplot
  • tcl系列之列表操作

    目录 1 列表定义 2 列表操作命令 2 1 concat 2 2 lrepeat 2 3 llength 2 4 lindex 2 5 lrange 2 6 linsert 2 7 lreplace 2 8 lset 2 9 lappen
  • linux 升级内核 需要重启吗,如何在不重新启动的情况下升级服务器内核?

    问题描述 这是一个加载的问题 因为我已经知道 并且对ksplice非常感兴趣 问题在于 由于他们被Oracle收购 他们被迫从产品中提取大量服务器 答案并不像以前那么简单 You can build your own ksplice pat
  • 解决Adobe Acobat设置了背景色,显示出现白条的问题!

    目录 问题描述 解决办法 问题描述 改变了Adobe Acobat原本的白色背景 如设置了护眼色 PDF文档打开出现很多白色横条 如下图所示 解决办法 取消2D图形加速即可 步骤如下 进入 编辑 首选项 种类 页面显示 渲染 取消勾选使用
  • wc命令

    Linux wc命令用于计算字数 利用wc指令我们可以计算文件的Byte数 字数 或是列数 若不指定文件名称 或是所给予的文件名为 则wc指令会从标准输入设备读取数据 语法 wc clw help version 文件 参数 c或 byte
  • 配置方法数超过 64K 的应用

    https developer android com studio build multidex html 配置方法数超过 64K 的应用 本文内容 关于 64K 引用限制 Android 5 0 之前版本的 Dalvik 可执行文件分包
  • 《区块链基础知识25讲》-第十四讲-存储交易数据

    目标 是利用区块链技术 以有序的方式维护交易数据的整个历史记录 挑战 是如何按交易顺序存储发生的交易数据 并且找到一种能够快速检测到交易数据发生变化的方法 通过创建一个交易数据库 并维护一个保留了将交易添加到交易数据库中顺序的目录来实现对历
  • 深入理解Java IO流:高效数据输入输出的利器

    文章目录 简介 基本概念 字节流 字节输出流 OutputStream 抽象类 字节输出流的子类 FileOutputStream 字节输入流 InputStream 抽象类 字节输入流的子类 FileInputStream 字符流 字符输
  • css开启第一张简单式网页图

    参考链接 https www runoob com try try cdnjs php filename trycss website layout blog 我是参考上述链接 稍微做些修改 然后如下
  • poi 顺序解析word_POI解析word文档,支持DOC和DOCX版本

    一 简介 Apache POI是一个开源的利用Java读写Excel WORD等微软OLE2组件文档的项目 最新的3 5版本有很多改进 加入了对采用OOXML格式的Office 2007支持 如xlsx docx pptx文档 二 POI组
  • fetch详细讲解

    fetch 是一种网络通信协议 用于在客户端和服务器之间传输数据 该协议使用 HTTP 请求和响应进行通信 与传统的 AJAX 方式相比 fetch 更加简单易用 并提供了许多现代化的功能 1 fetch 介绍 使用 fetch 可以方便地
  • Qt重新加载内存中的QSS样式

    什么叫重新加载内存中的QSS样式 当QSS被封装到QSS文件时 需要使用这个QSS 需要将其读出来 理论上说 读出来后 其在程序结束之前应该就一直保存在内存中 当我们给控件设置一个动态属性 在该QSS中存在不同属性 不同样式的时候 在程序运