《QT实用小工具·二十七》各种炫酷的样式表

news2024/11/24 17:25:46

1、概述
源码放在文章末尾

该项目实现了各种炫酷的样式表,如单选、多选、按钮、日历、表格、下拉框、滚轮等,下面是项目demo演示:
在这里插入图片描述

项目部分代码如下:

#include "frmmain.h"
#include "ui_frmmain.h"
#include "head.h"

frmMain::frmMain(QWidget *parent) : QMainWindow(parent), ui(new Ui::frmMain)
{
    ui->setupUi(this);
    this->initForm();
}

frmMain::~frmMain()
{
    delete ui;
}

void frmMain::initForm()
{
    ui->rbtn1->setChecked(true);
    ui->ck2->setChecked(true);
    ui->ck3->setCheckState(Qt::PartiallyChecked);

    ui->textEdit->setText("我爱你");
    ui->treeWidget->expandAll();

    int rowHeight = 23;
    ui->tableWidget->horizontalHeader()->setFixedHeight(rowHeight);
    ui->tableWidget->verticalHeader()->setDefaultSectionSize(rowHeight);

    //加载鼠标右键菜单翻译文件
    QTranslator *translator1 = new QTranslator(qApp);
    if (translator1->load(":/qm/qt_zh_CN.qm")) {
        qApp->installTranslator(translator1);
    }

    //加载富文本框鼠标右键菜单翻译文件
    QTranslator *translator2 = new QTranslator(qApp);
    if (translator2->load(":/qm/widgets.qm")) {
        qApp->installTranslator(translator2);
    }

    on_btnStyle1_clicked();
}

void frmMain::loadStyle(const QString &qssFile)
{
    //开启计时
    QElapsedTimer time;
    time.start();

    //加载样式表
    QString qss;
    QFile file(qssFile);
    if (file.open(QFile::ReadOnly)) {
        //用QTextStream读取样式文件不用区分文件编码 带bom也行
        QStringList list;
        QTextStream in(&file);
        //in.setCodec("utf-8");
        while (!in.atEnd()) {
            QString line;
            in >> line;
            list << line;
        }

        file.close();
        qss = list.join("\n");
        QString paletteColor = qss.mid(20, 7);
        qApp->setPalette(QPalette(paletteColor));
        //用时主要在下面这句
        qApp->setStyleSheet(qss);
    }

    qDebug() << "用时:" << time.elapsed();
}

void frmMain::on_btnStyle1_clicked()
{
    loadStyle(":/qss/lightblue.css");
}

void frmMain::on_btnStyle2_clicked()
{
    loadStyle(":/qss/flatgray.css");
}

void frmMain::on_btnStyle3_clicked()
{
    loadStyle(":/qss/blacksoft.css");
}

void frmMain::on_btnInfo_clicked()
{
    //QFileDialog::getOpenFileName(this, "", "", "", 0, QFileDialog::DontUseNativeDialog);
    //QFileDialog::getExistingDirectory(0, "", "", QFileDialog::DontUseNativeDialog);
}


源码下载

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数仓建模—数据架构

数仓—数据架构 为了在企业决策中使用数据,数据必须经过整个数据平台的各个阶段。整个过程是什么样子的,从开始到结束?原始形式的数据是如何转化为可导致商业决策的见解的?这些问题可以通过数据架构来回答。 数据架构是指记录组织所有数据资产的模型、规则和标准。它映射…

Zephyr Windows开发环境搭建

Zephyr 如果有错误或未及时更新&#xff0c;请以官网文档为主 官网&#xff1a;https://docs.zephyrproject.org/latest/develop/getting_started/index.htm 下载安装 Chocolatey 这是一个类似于在Linux系统下 yum 和 apt 那样的包管理器 官网&#xff1a;https://chocolat…

平衡车设计——硬件篇

在本文开始之前我忍不住想吐槽一个事情&#xff0c;就在前两天晚上&#xff0c;我满意地装完平衡车&#xff0c;给他取了个名字叫瓦力&#xff08;没错&#xff0c;就是机器人总动员里的瓦力&#xff09;&#xff0c;他长这个样子。 把他放到桌子上放了一夜&#xff0c;第二天早…

【vue】Pinia-2 安装Pinia,使用store

1. 安装Pinia 在项目路径下执行npm install pinia 在package.json中查看 2. 使用store 在main.js中添加 import { createPinia } from pinia const pinia createPinia()修改createApp方法 最后示例如下&#xff08;三处修改&#xff09; import { createApp } from vue //…

Jmeter接口测试:使用教程(下)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号&#xff1a;互联网杂货铺&#xff0c;回复1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 上一篇我给大家讲了jmeter的基本介绍跟参数化和jmeter脚…

【开发者召集】BIMBase插件开发大赛火热报名中!| python开发 | python建模 | 二次开发 | 图形引擎 | 几何引擎

&#x1f4e2; 致所有热爱创新的技术大咖们&#xff1a; 让我们回顾一下&#xff0c;在之前的推文中&#xff0c;我们收集了各种各样的BIM插件命题~ 小伙伴们的热情让小编倍感振奋~ 因为&#xff0c;每一个命题都蕴藏着解决实际问题的潜力&#xff0c;每一个也都代表着创新的可…

工业级POE交换机的ACL

工业级POE交换机通常支持访问控制列表&#xff08;Access Control List&#xff0c;ACL&#xff09;功能&#xff0c;用于实施网络安全策略。ACL可以根据源IP地址、目标IP地址、传输协议、端口号等条件来过滤和控制网络流量。 通过配置ACL&#xff0c;可以实现以下功能&#xf…

Docker 磁盘占用过多问题处理过程记录

一、问题描述 突然发现服务器磁盘使用超过95%了&#xff08;截图时2.1 和 2.2 已经执行过了&#xff09; 二、问题分析与解决 2.1&#xff0c;docker 无用镜像占用磁盘 # 使用 docker images 查看服务的镜像 docker images# 可以手动删除一些很大不用的 docker rmi ***## 也…

【C语言】字符函数和字符串函数,详解,进来就会!

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 目录 1. 字符分类函数 2. 字符转换函数 3. strlen的使⽤和模拟实现 3.1 采用指针-指针方式 3.2 采用递归方式 3.3 采用计数器方式 4. strcpy的使⽤和模拟实现 …

如何在本地创建一个贪吃蛇小游戏node.js服务并实现无公网IP远程游玩

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽…

荔枝派LicheePi 4A RISCV板子支持的好玩的AI模型

荔枝派LicheePi 4A 是基于 Lichee Module 4A 核心板的 高性能 RISC-V Linux 开发板&#xff0c;以 TH1520 为主控核心&#xff08;4xC9101.85G&#xff0c; RV64GCV&#xff0c;4TOPSint8 NPU&#xff0c; 50GFLOP GPU&#xff09;&#xff0c;板载最大 16GB 64bit LPDDR4X&…

mysql查看数据库表容量大小

【推荐】单表行数超过 500 万行或者单表容量超过 2GB&#xff0c;才推荐进行分库分表。 说明&#xff1a;如果预计三年后的数据量根本达不到这个级别&#xff0c;请不要在创建表时就分库分表。 1. 查询所有数据库记录数和容量 SELECTtable_schema AS 数据库,SUM(table_rows) …

MySQL高级(性能分析-查看执行频次、慢查询日志)

目录 1、SQL性能分析 1.1、SQL执行频率 1.2、慢查询日志 1、SQL性能分析 1.1、SQL执行频率 MySQL 客户端连接成功后&#xff0c;通过 show [ session | global ] status 命令可以提供服务器状态信息。通过如下指令&#xff0c;可以查看当前数据库的 insert、update、delete、…

物理页采样内核配置damon和perf

一、安装报错Missing file: arch/x86/boot/bzImage [sudo] password for xmu: arch/x86/Makefile:142: CONFIG_X86_X32 enabled but no binutils support sh ./arch/x86/boot/install.sh 5.15.19-htmm-test1 \arch/x86/boot/bzImage System.map "/boot"*** Missing…

电商网站建设开发

随着互联网技术的飞速发展&#xff0c;电子商务已经成为一种全新的商业模式&#xff0c;许多传统的企业也开始涉足电商领域。对于想要进行网络销售的企业来说&#xff0c;电商网站建设开发是非常重要的环节。下面将从几个方面介绍电商网站建设开发的必要性和关键点。 一、 提升…

[入门]测试原则-ApiHug准备-测试篇-006

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace 写在前面…

2024年机电一体化与交通运输国际学术会议(IACMIT 2024)

2024年机电一体化与交通运输国际学术会议&#xff08;IACMIT 2024) 2024 International Conference on Mechatronics Integration and Transportation 一、【会议简介】 2024年机电一体化与交通运输国际学术会议&#xff0c;是关于交通运输机械工程和机电控制技术的交流盛会。 …

neo4j使用详解(终章、neo4j的java driver使用模板及工具类——<可用于生产>)

Neo4j系列导航: neo4j安装及简单实践 cypher语法基础 cypher插入语法 cypher插入语法 cypher查询语法 cypher通用语法 cypher函数语法 neo4j索引及调优 neo4j java Driver等更多 1. 简介 本文主要是java使用neo4j driver操作neo4j的模板项目及非常有用的工具类,主要包括: 图…

存储过程的创建和调用及删除

目录 存储过程 存储过程的创建 存储过程的调用及删除 在 SQL Plus 中调用存储过程 在 PL/SQL 块中调用存储过程 存储过程的删除 Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 存储过程 存储过程是一种命名的 PL/S…

57、通过EEG数据的SHAPE变化,揭开EEG-TCNet的黑匣子[看好了小子,我只教这一次]

之前在第18篇博客中对于EEG-TCNet这个处理EEG信号的sota模型进行了介绍&#xff0c;也给出了模型&#xff0c;目前也是全网对于EEG-TCNet浏览度最高的文章了&#xff0c;我觉得讲的已经很细致了&#xff0c;没想到还是有不少同学疑问&#xff0c;这也是全网缺少该模型pytorch代…