目录
一、创建项目
二、登录界面
三、验证邮箱地址
四、验证账号密码
五、考试时间
六、初始化题库
七、布局按钮
八、提交试题
九、窗口交互
一、创建项目
新建Qt桌面应用程序,项目名:ExamSys。
类信息:类名LoginDialog继承自QDialog
- ExamSys.pro
工程文件,包含当前工程的相关信息。
- logindialog.h
登录窗口类头文件
- logindialog.cpp
- main.cpp
- logindialog.ui
登录窗口界面文件。
二、登录界面
设计模式下添加账号、密码标签,账号、密码输入框,登录、取消按钮,并修改对象名,添加资源文件imgage.qrc,给imgLabel添加图片资源做背景。
logindialog.cpp构造函数中设置窗体标题、风格:
运行效果:
三、验证邮箱地址
给登录按钮添加响应点击信号的槽方法:
设计模式下,右键单击登录按钮,选择“转到槽”,选择点击信号clicked().
给槽方法void LoginDialog::on_loginBtn_clicked()添加如下代码:
logindialog.cpp添加如下头文件
四、验证账号密码
logindialog.cpp添加头文件
编辑void LoginDialog::on_loginBtn_clicked()方法:
密码隐藏:将codeEdit的echoMode属性修改为password.
固定窗口大小:在登录窗口构造方法添加如下代码
… … |
五、考试时间
(1)右键单击项目名新建考试窗口类,取名ExamDialog.
打开考试窗口类头文件,编辑构造方法,声明Q_OBJECT宏、初始化计时器成员方法、刷新考试时间的槽方法并定义计时器、考试时间数据。
examdialog.h
编辑ExamDialog类构造函数:
定义void initTimer()成员方法:
定义 void freshTime()成员方法:
编辑main.cpp文件中的main方法,并添加头文件 #include <examdialog.h>
六、初始化题库
examdialog.h添加头文件
examdialog.h添加公有成员方法及私有数据
examdialog.cpp添加头文件
编辑ExamDialog类构造方法:
void initLayout() 成员方法添加定义:
bool initTextEdit()添加成员方法:
七、布局按钮
examdialog.h添加头文件、定义单选按钮分组数据、声明void initButtons()公有成员方法:
… … … … … … |
examdialog.cpp中添加void ExamDialog::initButtons()定义。
同时添加头文件
八、提交试题
void ExamDialog::initButtons()定义中将提交按钮的点击信号及响应的槽方法连接起来,添加红色标注的代码。
examdialog.h声明:void getScore()槽方法、bool hasNoSelect()成员方法。
… … … … … … |
void ExamDialog::getScore()定义:
bool ExamDialog::hasNoSelect()定义: