导图社区 驾校科目一考试系统(QT)
用qt框架写的驾校科目一考试系统,包含考试时间、验证账号密码、验证邮箱地址 登录界面、创建项目、布局按钮、初始化题库、提交试题等。
提示: 本内容由社区用户上传并分享。平台不对内容的真实性、合法性、知识产权归属及是否侵害第三方权利进行事前审核或保证。本内容可能包含受版权保护的图片、字体或其他第三方素材,使用前请自行确认授权范围。
这是一篇关于CMakeList.txt的思维导图,梳理了 CMake 构建脚本的核心配置步骤,覆盖从基础语法、项目设置到 Qt 模块集成、跨平台适配的全流程配置要点,帮助开发者快速掌握 CMakeList.txt 的编写规范,高效搭建 Qt 项目构建体系,解决 CMake 配置报错、语法不熟悉、跨平台适配难等痛点。基础语法部分讲解注释、最低版本号设置规则;项目配置模块包含项目名称、版本号、编程语言指定方法;路径配置部分介绍如何将当前目录和构建目录添加到包含路径;Qt 相关配置模块详细说明自动处理 UI、MOC、RCC 文件的启用方式;C++ 标准设置部分讲解如何启用 C++17 标准及强制标准生效配置;Qt 模块查找部分梳理 find_package 命令的使用方法,支持不同 Qt 版本(Qt5/Qt6)的 Widgets 模块集成;文件管理部分介绍如何添加项目源文件、头文件和资源文件;跨平台适配部分包含 Qt 版本判断、平台专属配置(Android、Windows、macOS)及链接 QtWidgets 模块的完整示例,覆盖 Qt 项目 CMake 配置的高频场景与易错点。本模板适配 Qt 开发工程师、C++ 后端开发者、嵌入式系统开发者、计算机专业学生、开源项目维护者等多类使用人群,既适合零基础学习者快速入门 CMake 配置,也可作为资深开发者编写跨平台 Qt 项目构建脚本的参考手册,大幅减少配置调试时间。
这是一篇关于c智能指针的思维导图,内容详细介绍了C++中智能指针的相关知识,主要内容包括:vs中内存泄漏的检测,智能指针,适合C++开发者学习和查阅,帮助其更好地理解和使用智能指针进行内存管理。
这是一篇关于C容器的思维导图,主要内容包括:序列式容器,容器适配器(都不支持迭代器),关联式容器,容器使用注意事项。总结了C++中各类容器的使用方法和注意事项,适合作为学习和复习C++容器知识的参考资料。
社区模板帮助中心,点此进入>>
这是一篇关于CMakeList.txt的思维导图,梳理了 CMake 构建脚本的核心配置步骤,覆盖从基础语法、项目设置到 Qt 模块集成、跨平台适配的全流程配置要点,帮助开发者快速掌握 CMakeList.txt 的编写规范,高效搭建 Qt 项目构建体系,解决 CMake 配置报错、语法不熟悉、跨平台适配难等痛点。基础语法部分讲解注释、最低版本号设置规则;项目配置模块包含项目名称、版本号、编程语言指定方法;路径配置部分介绍如何将当前目录和构建目录添加到包含路径;Qt 相关配置模块详细说明自动处理 UI、MOC、RCC 文件的启用方式;C++ 标准设置部分讲解如何启用 C++17 标准及强制标准生效配置;Qt 模块查找部分梳理 find_package 命令的使用方法,支持不同 Qt 版本(Qt5/Qt6)的 Widgets 模块集成;文件管理部分介绍如何添加项目源文件、头文件和资源文件;跨平台适配部分包含 Qt 版本判断、平台专属配置(Android、Windows、macOS)及链接 QtWidgets 模块的完整示例,覆盖 Qt 项目 CMake 配置的高频场景与易错点。本模板适配 Qt 开发工程师、C++ 后端开发者、嵌入式系统开发者、计算机专业学生、开源项目维护者等多类使用人群,既适合零基础学习者快速入门 CMake 配置,也可作为资深开发者编写跨平台 Qt 项目构建脚本的参考手册,大幅减少配置调试时间。
这是一篇关于c智能指针的思维导图,内容详细介绍了C++中智能指针的相关知识,主要内容包括:vs中内存泄漏的检测,智能指针,适合C++开发者学习和查阅,帮助其更好地理解和使用智能指针进行内存管理。
这是一篇关于C容器的思维导图,主要内容包括:序列式容器,容器适配器(都不支持迭代器),关联式容器,容器使用注意事项。总结了C++中各类容器的使用方法和注意事项,适合作为学习和复习C++容器知识的参考资料。
驾校科目一考试系统 (QT)
十、发布
发布之前,请大家将代码中访问数据文件的相对路径从上级目录改成当前路径,修改后再重新编译。
改为

改为

(1)设置应用程序图标
准备好login.ico文件,ExamSys.pro文件中添加如下一行的代码
  
编译运行即可。
注意:直接将xxx.jpg或xxx.png后缀改为xxx.ico是不能将图片转为图标的。
在线转icon网址:https://app.xunjiepdf.com/img2icon/
(2)手动发布
文件清单:
ExamSys.exe
account.txt、exam.txt
Qt5Core.dll、Qt5Gui.dll、Qt5Widgets.dll
libstdc++-6.dll、libwinpthread-1.dll、libgcc_s_sjlj-1.dll、libgcc_s_dw2-1.dll
注意:运行时提示缺少xxx库,就补上xxx库,此清单仅可用于有Qt环境的电脑上运行。
缺少的动态库路径(根据自己的实际安装路径查找):
(3)windeployqt发布
以下为桌面建立一个exam发布文件夹,将ExamSys.exe及account.txt、exam.txt放入文件夹中。
解决方法:
给mingw53_32的bin目录添加环境变量,然后重新打开命令窗口:
注意:
检查libstdc++-6.dll、libwinpthread-1.dll、libgcc_s_sjlj-1.dll、libgcc_s_dw2-1.dll文件来源是否均是mingw53_32的bin目录下的。若不是,则手动替换,若缺失,手动添加。
(4)NSIS发布
①在步骤(3)发布的文件夹中添加程序安装图标、卸载图标及License.txt文件.如下图
注意生成图标时候像素选择大点,如256*256。License.txt文件内容可自行定义。
②安装NSIS(文件VIP群文件夹中下载)
双击运行nsis_setup.exe文件。
③安装脚本编辑器
双击运行cnisedit203.exe文件
④运行脚本编辑器(NisEdit)
双击桌面图标
⑤生成脚本文件
文件-新建脚本:向导
若安装程序语言里面一片空白,没有语言选项时,(NSIS已安装)设置下编译器及帮助路径,设置方法:
回到刚刚步骤,接着往下操作



双击Setup.exe即可安装
安装后桌面图标如下图,大家可自行卸载:
九、窗口交互
登录窗口设计模式下,给取消按钮添加相应点击信号的槽方法。
logindialog.h头文件会自动添加相应槽方法的声明。
 … … 
logindialog.cpp 中编辑void LoginDialog::on_loginBtn_clicked()方法,添加一行代码。
 … …  … … 
定义void on_cancelBtn_clicked()槽方法

编辑mainc.pp中的程序入口函数:

八、提交试题
void ExamDialog::initButtons()定义中将提交按钮的点击信号及响应的槽方法连接起来,添加红色标注的代码。

examdialog.h声明:void getScore()槽方法、bool hasNoSelect()成员方法。
 … …  … …  … … 
void ExamDialog::getScore()定义:
  
bool ExamDialog::hasNoSelect()定义:
 
七、布局按钮
examdialog.h添加头文件、定义单选按钮分组数据、声明void initButtons()公有成员方法:
 … …  … …  … … 
examdialog.cpp中添加void ExamDialog::initButtons()定义。
同时添加头文件

  
六、初始化题库
examdialog.h添加头文件

examdialog.h添加公有成员方法及私有数据

examdialog.cpp添加头文件

编辑ExamDialog类构造方法:

void initLayout() 成员方法添加定义:

bool initTextEdit()添加成员方法:
  
五、考试时间
(1)右键单击项目名新建考试窗口类,取名ExamDialog.
打开考试窗口类头文件,编辑构造方法,声明Q_OBJECT宏、初始化计时器成员方法、刷新考试时间的槽方法并定义计时器、考试时间数据。
examdialog.h

编辑ExamDialog类构造函数:

定义void initTimer()成员方法:

定义 void freshTime()成员方法:

编辑main.cpp文件中的main方法,并添加头文件 #include

四、验证账号密码
logindialog.cpp添加头文件

编辑void LoginDialog::on_loginBtn_clicked()方法:
  
密码隐藏:将codeEdit的echoMode属性修改为password.
固定窗口大小:在登录窗口构造方法添加如下代码
 … … 
三、验证邮箱地址
给登录按钮添加响应点击信号的槽方法:
设计模式下,右键单击登录按钮,选择“转到槽”,选择点击信号clicked().
给槽方法void LoginDialog::on_loginBtn_clicked()添加如下代码:

logindialog.cpp添加如下头文件

二、登录界面
设计模式下添加账号、密码标签,账号、密码输入框,登录、取消按钮,并修改对象名,添加资源文件imgage.qrc,给imgLabel添加图片资源做背景。
logindialog.cpp构造函数中设置窗体标题、风格:

运行效果:
一、创建项目
新建Qt桌面应用程序,项目名:ExamSys。
类信息:类名LoginDialog继承自QDialog
ExamSys.pro
工程文件,包含当前工程的相关信息。

logindialog.h
登录窗口类头文件

logindialog.cpp

main.cpp

logindialog.ui
登录窗口界面文件。