《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

相关文章

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

linux服务之NIS账户管理服务方式

《linux服务之NIS账户管理服务方式》:本文主要介绍linux服务之NIS账户管理服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、所需要的软件二、服务器配置1、安装 NIS 服务2、设定 NIS 的域名 (NIS domain name)3、修改主

利用Python实现Excel文件智能合并工具

《利用Python实现Excel文件智能合并工具》有时候,我们需要将多个Excel文件按照特定顺序合并成一个文件,这样可以更方便地进行后续的数据处理和分析,下面我们看看如何使用Python实现Exce... 目录运行结果为什么需要这个工具技术实现工具的核心功能代码解析使用示例工具优化与扩展有时候,我们需要将

Python+PyQt5实现文件夹结构映射工具

《Python+PyQt5实现文件夹结构映射工具》在日常工作中,我们经常需要对文件夹结构进行复制和备份,本文将带来一款基于PyQt5开发的文件夹结构映射工具,感兴趣的小伙伴可以跟随小编一起学习一下... 目录概述功能亮点展示效果软件使用步骤代码解析1. 主窗口设计(FolderCopyApp)2. 拖拽路径

Qt之QMessageBox的具体使用

《Qt之QMessageBox的具体使用》本文介绍Qt中QMessageBox类的使用,用于弹出提示、警告、错误等模态对话框,具有一定的参考价值,感兴趣的可以了解一下... 目录1.引言2.简单介绍3.常见函数4.按钮类型(QMessage::StandardButton)5.分步骤实现弹窗6.总结1.引言

Qt中Qfile类的使用

《Qt中Qfile类的使用》很多应用程序都具备操作文件的能力,包括对文件进行写入和读取,创建和删除文件,本文主要介绍了Qt中Qfile类的使用,具有一定的参考价值,感兴趣的可以了解一下... 目录1.引言2.QFile文件操作3.演示示例3.1实验一3.2实验二【演示 QFile 读写二进制文件的过程】4.

MySQL Workbench工具导出导入数据库方式

《MySQLWorkbench工具导出导入数据库方式》:本文主要介绍MySQLWorkbench工具导出导入数据库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录mysql Workbench工具导出导入数据库第一步 www.chinasem.cn数据库导出第二步

Spring Validation中9个数据校验工具使用指南

《SpringValidation中9个数据校验工具使用指南》SpringValidation作为Spring生态系统的重要组成部分,提供了一套强大而灵活的数据校验机制,本文给大家介绍了Spring... 目录1. Bean Validation基础注解常用注解示例在控制器中应用2. 自定义约束验证器定义自

9个SpringBoot中的自带实用过滤器使用详解

《9个SpringBoot中的自带实用过滤器使用详解》在SpringBoot应用中,过滤器(Filter)是处理HTTP请求和响应的重要组件,SpringBoot自带了许多实用的过滤器,如字符编码,跨... 目录1. CharacterEncodingFilter - 字符编码过滤器功能和配置手动配置示例2

一文教你如何解决Python开发总是import出错的问题

《一文教你如何解决Python开发总是import出错的问题》经常朋友碰到Python开发的过程中import包报错的问题,所以本文将和大家介绍一下可编辑安装(EditableInstall)模式,可... 目录摘要1. 可编辑安装(Editable Install)模式到底在解决什么问题?2. 原理3.