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

2024-04-17 21:44

本文主要是介绍《QT实用小工具·二十七》各种炫酷的样式表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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);
}

源码下载

这篇关于《QT实用小工具·二十七》各种炫酷的样式表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/912930

相关文章

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

MySQL慢查询工具的使用小结

《MySQL慢查询工具的使用小结》使用MySQL的慢查询工具可以帮助开发者识别和优化性能不佳的SQL查询,本文就来介绍一下MySQL的慢查询工具,具有一定的参考价值,感兴趣的可以了解一下... 目录一、启用慢查询日志1.1 编辑mysql配置文件1.2 重启MySQL服务二、配置动态参数(可选)三、分析慢查

Qt中实现多线程导出数据功能的四种方式小结

《Qt中实现多线程导出数据功能的四种方式小结》在以往的项目开发中,在很多地方用到了多线程,本文将记录下在Qt开发中用到的多线程技术实现方法,以导出指定范围的数字到txt文件为例,展示多线程不同的实现方... 目录前言导出文件的示例工具类QThreadQObject的moveToThread方法实现多线程QC

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放