《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

相关文章

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

Qt中QGroupBox控件的实现

《Qt中QGroupBox控件的实现》QGroupBox是Qt框架中一个非常有用的控件,它主要用于组织和管理一组相关的控件,本文主要介绍了Qt中QGroupBox控件的实现,具有一定的参考价值,感兴趣... 目录引言一、基本属性二、常用方法2.1 构造函数 2.2 设置标题2.3 设置复选框模式2.4 是否

QT进行CSV文件初始化与读写操作

《QT进行CSV文件初始化与读写操作》这篇文章主要为大家详细介绍了在QT环境中如何进行CSV文件的初始化、写入和读取操作,本文为大家整理了相关的操作的多种方法,希望对大家有所帮助... 目录前言一、CSV文件初始化二、CSV写入三、CSV读取四、QT 逐行读取csv文件五、Qt如何将数据保存成CSV文件前言

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加