你还不会写系统?超详细驾校科考系统教程,手把手教学(内涵源码,Qt实现界面,有接口可供二次开发刷题使用)

news2025/1/9 14:36:47

目录

一、创建项目

二、登录界面

三、验证邮箱地址

四、验证账号密码

五、考试时间

六、初始化题库

七、布局按钮

八、提交试题

九、窗口交互


一、创建项目

新建Qt桌面应用程序,项目名:ExamSys。

类信息:类名LoginDialog继承自QDialog

  1. ExamSys.pro

工程文件,包含当前工程的相关信息。

  1. logindialog.h

登录窗口类头文件

  1. logindialog.cpp

  1. main.cpp

  1. 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()定义:

九、窗口交互

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/582729.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows 7出现两个IP地址,导致联网问题

Qt源码解析 索引 Windows7 出现两个IP介绍 问题描述 win7电脑连接网线后出现两个IP地址&#xff0c;导致网络连接出现问题。 可能的现象有 连接网络出现黄色感叹号 局域网即时通信&#xff08;例如飞秋软件收发失败&#xff09; 修改IP地址不生效 服务软件启动报错&#…

12吋全自动划片机有哪些功能?

1、大面积工作盘&#xff1a;可容纳多个工件&#xff0c;并自动对位。 2、轴光/环光&#xff1a;采用合适的光源照射&#xff0c;显示影像更能呈现工作物表面特征。 3、双倍率显微镜头&#xff1a;视野更大&#xff0c;精准快速进行对准校正工作。 4、非接触测高&#xff1a…

Text2Video-Zero:Text-to-Image Diffusion Models are Zero-Shot Video Generators

【AIGC-AI视频生成系列-文章1】Text2Video-Zero - 知乎一句话亮点&#xff1a;当文本-视频生成也不需要额外数据训练&#xff0c;只需要基于现有的diffusion-model 如Stable Diffusion能力调整即可实现&#xff0c;解决生成视频帧间不一致问题&#xff0c;是不是很心动。 文章链…

腾讯云轻量2核2G4M带宽月流量/CPU/地域选择及限制说明

腾讯云轻量应用服务器2核2G4M活动上线了&#xff0c;这款轻量服务器4M公网带宽&#xff0c;每月300G免费流量&#xff0c;系统盘为50GB SSD盘&#xff0c;腾讯云百科来详细说下轻量应用服务器配置、租用费用、地域选择、CPU型号等详细说明&#xff1a; 目录 腾讯云轻量2核2G4…

2023年上半年软件设计师中级学习总结(超详细)

目录 前言 一、背景1.1上次考试感受&#xff1a;1.2这次考试感受&#xff1a;1.3方法&#xff1a; 二、 过程2.1计算机网络概论计算机组成数据表示相关知识校验码相关知识计算机体系结构网络体系结构OSI/RM和TCP/IP计算机安全性可靠性性能评价 2.2 程序设计语言基础知识编译和解…

前端开发如何更好的避免样式冲突?级联层(CSS@layer)

作者&#xff1a;vivo 互联网前端团队 - Zhang Jiqi 本文主要讲述了CSS中的级联层&#xff08;CSSlayer&#xff09;&#xff0c;讨论了级联以及级联层的创建、嵌套、排序和浏览器支持情况。级联层可以用于避免样式冲突&#xff0c;提高代码可读性和可维护性。 一、什么是级联…

选择交换机主要看哪些参数指标

交换机有几个性能指标您一定要知道哦&#xff0c;和海翎光电的小编一起温故而知新。 网络构成方式&#xff1a;接入层交换机、汇聚层交换机、核心层交换机 OST模型&#xff1a;第二层交换机、第三层交换机、第四层交换机……第七层交换机 交换机的可管理性&#xff1a;可管理…

电商分析必懂的指标体系,引流、转化、留存,一文带你搞懂

今天&#xff0c;我就来讲讲电商到底该重点关注哪些指标&#xff0c;又该拿这些指标来进行怎么样的分析。 一般来说&#xff0c;在运营模块&#xff0c;需要重点关注的是新用户的引流和转化&#xff0c;以及老用户的活跃、留存、回购、流失。 01 引流 简单来说&#xff0c;引…

【现实生活实际应用】【公交车换乘算法——算法用在公交车】【单源最短路-如何根据图意构建图,最重要】最优乘车【sstream输入】

问题出现了 其实我们构图的时候&#xff0c; 我们已经知道1 - 3 - 5 那么我们直接让1 连到 3 和 5 表示直达 如果出现另一路 4 7 3 6 则3最终连接的是 5 和 6 从1开始&#xff0c;先走到了 3 和 5 然后bfs宽搜到3&#xff08;此时就表示换乘了&#xff0c;因为1直达的已经都遍历…

JavaEE进阶5/25(Spring 注解)

1.五大类注解详解&#xff08;重点 1.Controller 控制器&#xff0c;用于业务逻辑层&#xff0c;来控制用户的行为。它用来检查用户参数的有效性。 当用户的参数有效的话会继续分发到服务层。controller可以理解为程序的安保系统 2.Service 服务层。归属服务层&#xff0c;调用…

【JavaSE】Java基础语法(二十九):Map集合

文章目录 1. Map集合概述和特点2. Map集合的基本功能3. Map集合的获取功能【应用】4. Map集合的遍历(方式1)5. Map集合的遍历(方式2)6. map四种遍历方式 1. Map集合概述和特点 Map集合概述 interface Map<K,V> K&#xff1a;键的类型&#xff1b;V&#xff1a;值的类型…

MySQL — 视图、存储过程、触发器

文章目录 视图/存储过程/存储函数/触发器一、视图1.1 语法1.1.1 创建视图1.1.2 查询1.1.3 修改1.1.4 删除1.1.5 对数据的操作 1.2 检查选项1.2.1 cascaded1.2.2 local 1.3 视图的更新1.4 视图的作用1.5 案例1.5.1 案例11.5.2 案例2 二、存储过程2.1 介绍2.2 基本语法2.3 变量2.…

【保姆级】拯救“爆红”C盘,轻松清出30G

目录 第一步 ​第二步 第三步 第四步 ​第五步&#xff08;可选&#xff09; 打开一个程序&#xff0c;发现等它启动好了咖啡都凉叻。。 访问个文件&#xff0c;都要转个圈圈。。不、转好几个圈圈⭕️⭕️⭕️⭕️⭕️⭕️⭕️ 更新、安装新软件时&#xff0c;提示“安装…

分布式网络通信框架(十二)——zookeeper简介与安装

简介 zookeeper&#xff08;后文简称zk&#xff09;提供功能有&#xff1a;服务注册中心、全局服务命名、以及分布式锁。 RPC服务会被发布到不同的服务器上&#xff0c;本项目zk的作用就是找到某一个RPC服务在哪一个服务器上&#xff0c;提供服务注册发现功能。 zk的数据如何…

Linux-0.11 入口函数main.c详解

Linux-0.11 入口函数main.c详解 模块简介 main.c大部分代码主要是对内核进行初始化&#xff0c;而main.c开始&#xff0c;就都是c语言编写的内核了。 函数详解 time_init static void time_init(void)该函数读取CMOS时钟信息作为系统的开机时间。 struct tm time;do {time…

携手高通,移远通信以全栈式车载产品实力重新定义汽车

5月25日至26日&#xff0c;2023高通汽车技术与合作峰会在苏州成功举办。 移远通信作为高通重要的长期战略合作伙伴&#xff0c;受邀参加此次峰会&#xff0c;并现场展示了支持5G/4G、C-V2X、算力、UWB、Wi-Fi、高精定位等领先技术的多款车规级模组、天线等产品&#xff0c;更有…

Three.js——六、模型对象/材质

模型对象/材质 三维向量 Vector3 与模型位置 该类表示的是一个三维向量&#xff08;3D vector&#xff09;。 一个三维向量表示的是一个有顺序的、三个为一组的数字组合&#xff08;标记为 x、y 和 z&#xff09;&#xff0c; 可被用来表示很多事物&#xff0c;例如&#xff…

Flutter(七)功能型组件

1.导航返回拦截&#xff08;WillPopScope&#xff09; 需求&#xff1a;再按一次退出应用 用户在1秒内点击两次返回按钮时&#xff0c;则退出&#xff1b;如果间隔超过1秒则不退出 import package:flutter/material.dart;class WillPopScopeTestRoute extends StatefulWidget…

建筑行业数字化转型,工程管理系统已成建筑行业转型的利器

建筑工程项目管理的困境 专业工种多、工作环境复杂&#xff0c;工期长&#xff0c;且整体工业化标准化程度较低。 进度难管控、项目沟通协作不畅、项目执行过程不透明、项目成本管控难、项目盈亏情况不清、项目难共享等。 什么是工程项目管理 工程项目管理指的是对工程项目…

茶润童心 以茶明礼

中国是茶的故乡&#xff0c;也是茶文化的发源地&#xff0c;茶文化也是中国文化的一部分。5月27日下午&#xff0c;8位武汉公益小天使来到中茶恩施硒茶全国运营中心开展少儿茶艺活动。 开场的自我介绍&#xff0c;公益小天使逐个进行自我介绍&#xff0c;喊着“好名字”互相加…