《QT实用小工具·三十》基于QT开发的访客管理平台demo

2024-04-18 23:20

本文主要是介绍《QT实用小工具·三十》基于QT开发的访客管理平台demo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

该项目为访客管理平台demo,包含主界面、系统设置、警情查询、调试帮助、用户退出功能。
在这里插入图片描述
项目部分代码如下:

#ifndef QTHELPER_H
#define QTHELPER_H#include "head.h"class QtHelper
{
public://获取所有屏幕区域/当前鼠标所在屏幕索引/区域尺寸/缩放系数static QList<QRect> getScreenRects(bool available = true);static int getScreenIndex();static QRect getScreenRect(bool available = true);static qreal getScreenRatio(int index = -1, bool devicePixel = false);//矫正当前鼠标所在屏幕居中尺寸static QRect checkCenterRect(QRect &rect, bool available = true);//获取桌面宽度高度+居中显示static int deskWidth();static int deskHeight();static QSize deskSize();//居中显示窗体//定义标志位指定是以桌面为参照还是主程序界面为参照static QWidget *centerBaseForm;static void setFormInCenter(QWidget *form);static void showForm(QWidget *form);//程序文件名称和当前所在路径static QString appName();static QString appPath();//程序最前面获取应用程序路径和名称static void getCurrentInfo(char *argv[], QString &path, QString &name);//程序最前面读取配置文件节点的值static QString getIniValue(const QString &fileName, const QString &key);static QString getIniValue(char *argv[], const QString &key, const QString &dir = QString(), const QString &file = QString());//获取本地网卡IP集合static QStringList getLocalIPs();//添加网卡集合并根据默认值设置当前项static void initLocalIPs(QComboBox *cbox, const QString &defaultIP, bool local127 = true);//获取内置颜色集合static QList<QColor> colors;static QList<QColor> getColorList();static QStringList getColorNames();//随机获取颜色集合中的颜色static QColor getRandColor();//初始化随机数种子static void initRand();//获取随机小数static float getRandFloat(float min, float max);//获取随机数,指定最小值和最大值static double getRandValue(int min, int max, bool contansMin = false, bool contansMax = false);//获取范围值随机经纬度集合static QStringList getRandPoint(int count, float mainLng, float mainLat, float dotLng, float dotLat);//根据旧的范围值和值计算新的范围值对应的值static int getRangeValue(int oldMin, int oldMax, int oldValue, int newMin, int newMax);//获取uuidstatic QString getUuid();//校验目录static void checkPath(const QString &dirName);//通用延时函数(支持Qt4 Qt5 Qt6)static void sleep(int msec, bool exec = true);//检查程序是否已经运行static void checkRun();//设置Qt自带样式static void setStyle();//设置字体static QFont addFont(const QString &fontFile, const QString &fontName);static void setFont(int fontSize = 12);//设置编码static void setCode(bool utf8 = true);//设置翻译文件static void setTranslator(const QString &qmFile);//动态设置权限static bool checkPermission(const QString &permission);//申请安卓权限static void initAndroidPermission();//一次性设置所有包括编码样式字体等static void initAll(bool utf8 = true, bool style = true, int fontSize = 13);//初始化main函数最前面执行的一段代码static void initMain(bool desktopSettingsAware = false, bool use96Dpi = true, bool logCritical = true);//初始化opengl类型(1=AA_UseDesktopOpenGL 2=AA_UseOpenGLES 3=AA_UseSoftwareOpenGL)static void initOpenGL(quint8 type = 0, bool checkCardEnable = false, bool checkVirtualSystem = false);//读取qss文件获取样式表内容static QString getStyle(const QString &qssFile);//设置qss文件到全局样式static void setStyle(const QString &qssFile);//执行命令行返回执行结果static QString doCmd(const QString &program, const QStringList &arguments, int timeout = 1000);//获取显卡是否被禁用static bool isVideoCardEnable();//获取是否在虚拟机环境static bool isVirtualSystem();//插入消息static bool replaceCRLF;static QVector<int> msgTypes;static QVector<QString> msgKeys;static QVector<QColor> msgColors;static QString appendMsg(QTextEdit *textEdit, int type, const QString &data,int maxCount, int &currentCount,bool clear = false, bool pause = false);//设置无边框static void setFramelessForm(QWidget *widgetMain, bool tool = false, bool top = false, bool menu = true);//弹出框static int showMessageBox(const QString &text, int type = 0, int closeSec = 0, bool exec = false);//弹出消息框static void showMessageBoxInfo(const QString &text, int closeSec = 0, bool exec = false);//弹出错误框static void showMessageBoxError(const QString &text, int closeSec = 0, bool exec = false);//弹出询问框static int showMessageBoxQuestion(const QString &text);//为什么还要自定义对话框因为可控宽高和汉化对应文本等//初始化对话框文本static void initDialog(QFileDialog *dialog, const QString &title, const QString &acceptName,const QString &dirName, bool native, int width, int height);//拿到对话框结果static QString getDialogResult(QFileDialog *dialog);//选择文件对话框static QString getOpenFileName(const QString &filter = QString(),const QString &dirName = QString(),const QString &fileName = QString(),bool native = false, int width = 900, int height = 600);//保存文件对话框static QString getSaveFileName(const QString &filter = QString(),const QString &dirName = QString(),const QString &fileName = QString(),bool native = false, int width = 900, int height = 600);//选择目录对话框static QString getExistingDirectory(const QString &dirName = QString(),bool native = false, int width = 900, int height = 600);//异或加密-只支持字符,如果是中文需要将其转换base64编码static QString getXorEncryptDecrypt(const QString &value, char key);//异或校验static quint8 getOrCode(const QByteArray &data);//计算校验码static quint8 getCheckCode(const QByteArray &data);//初始化表格static void initTableView(QTableView *tableView, int rowHeight = 25,bool headVisible = false, bool edit = false,bool stretchLast = true);//打开文件带提示框static void openFile(const QString &fileName, const QString &msg);//检查ini配置文件static bool checkIniFile(const QString &iniFile);//首尾截断字符串显示static QString cutString(const QString &text, int len, int left, int right, bool file, const QString &mid = "...");//传入图片尺寸和窗体区域及边框大小返回居中区域(scaleMode: 0-自动调整 1-等比缩放 2-拉伸填充)static QRect getCenterRect(const QSize &imageSize, const QRect &widgetRect, int borderWidth = 2, int scaleMode = 0);//传入图片尺寸和窗体尺寸及缩放策略返回合适尺寸(scaleMode: 0-自动调整 1-等比缩放 2-拉伸填充)static void getScaledImage(QImage &image, const QSize &widgetSize, int scaleMode = 0, bool fast = true);//毫秒数转时间 00:00static QString getTimeString(qint64 time);//用时时间转秒数static QString getTimeString(QElapsedTimer timer);//文件大小转 KB MB GB TBstatic QString getSizeString(quint64 size);//设置系统时间static void setSystemDateTime(const QString &year, const QString &month, const QString &day,const QString &hour, const QString &min, const QString &sec);//设置开机自启动static void runWithSystem(bool autoRun = true);static void runWithSystem(const QString &fileName, const QString &filePath, bool autoRun = true);//启动运行程序(已经在运行则不启动)static void runBin(const QString &path, const QString &name);
};#endif // QTHELPER_H

源码下载

这篇关于《QT实用小工具·三十》基于QT开发的访客管理平台demo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

基于Python实现简易视频剪辑工具

《基于Python实现简易视频剪辑工具》这篇文章主要为大家详细介绍了如何用Python打造一个功能完备的简易视频剪辑工具,包括视频文件导入与格式转换,基础剪辑操作,音频处理等功能,感兴趣的小伙伴可以了... 目录一、技术选型与环境搭建二、核心功能模块实现1. 视频基础操作2. 音频处理3. 特效与转场三、高

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控