导图社区 驾校科目一考试系统(QT)
用qt框架写的驾校科目一考试系统,包含考试时间、验证账号密码、验证邮箱地址 登录界面、创建项目、布局按钮、初始化题库、提交试题等。
编辑于2024-12-07 23:03:13这是一篇关于C 学习路线图的思维导图,主要内容包括:基础语法,面向对象编程,标准模板库(STL),高级特性,Qt 学习路线图,MFC 学习路线图,API 学习路线图,实践和项目,学习资源和工具,调试和性能优化,软件工程实践。
用qt框架写的驾校科目一考试系统,包含考试时间、验证账号密码、验证邮箱地址 登录界面、创建项目、布局按钮、初始化题库、提交试题等。
Windows API函数大全,无论你是初学者还是经验丰富的开发者,Windows API函数大全都能帮助你更好地理解Windows操作系统的底层机制,掌握高效开发Windows应用程序的技巧和方法。
社区模板帮助中心,点此进入>>
这是一篇关于C 学习路线图的思维导图,主要内容包括:基础语法,面向对象编程,标准模板库(STL),高级特性,Qt 学习路线图,MFC 学习路线图,API 学习路线图,实践和项目,学习资源和工具,调试和性能优化,软件工程实践。
用qt框架写的驾校科目一考试系统,包含考试时间、验证账号密码、验证邮箱地址 登录界面、创建项目、布局按钮、初始化题库、提交试题等。
Windows API函数大全,无论你是初学者还是经验丰富的开发者,Windows API函数大全都能帮助你更好地理解Windows操作系统的底层机制,掌握高效开发Windows应用程序的技巧和方法。
驾校科目一考试系统 (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
登录窗口界面文件。