这是一个使用 Qt 构建、C++ 作为底层开发的学生成绩管理系统,支持对学生成绩的增删改查、排序、汇总等功能。
前往 Release 下载最新版本。
- Qt 6.4.1
- MinGW 11.2.0 64-bit
- Qt Creator 9.0.1
- Windows 11 Pro 22H2 64-bit
- 打开 Qt Creator,选择
Open Project
,打开stu-score-sys.pro
。 - 点击
Projects
,选择Build
,在Build Steps
中添加qmake
。 - 点击
Projects
,选择Release
。 - 点击
Build
,选择Build All
。 - 打开 Qt 6.4.1,使用
cd
命令进入build-stu-score-sys-Desktop_Qt_6_4_1_MinGW_64_bit-Release
目录。 - 使用
windeployqt.exe
命令将依赖文件复制到release
目录下。
软件第一次使用时,会将输入账号密码加密存储到当前文件夹下(admin.txt)。如需需重新设置账号密码,则把 admin.txt 文本删除即可。
-
编辑&保存:在浏览模式中无法对数据进行编辑,点击编辑按钮即可解锁,此时双击单元格可进行编辑;编辑完成后,点击更新并保存即可。
-
分数排序:点击任意列,将对该列的值进行升序/降序排序。
-
插入数据:点击插入数据进入插入数据模式,新增一行以便填充数据;输入完毕后,点击确认插入即可。平均分无需填写,会自动生成并展示。
-
删除数据:输入要删除的学号,点击删除数据即可删除对应行数据。
-
成绩信息汇总:点击成绩汇总,获取各科学生成绩整体信息。
-
退出系统:点击退出即可回退到登录界面。
-
数据表创建:
create table stu( id primary key, name, class, chinese, math, english );
-
插入数据:
insert into stu values('123','小明','高一三班',90,90,90);
-
排序:
来自 Qt 官方技术文档
界面的 QSS 设计:
login.ui
/* 主窗口 */
QMainWindow {
background: qlineargradient(
spread: pad,
x1: 0,
y1: 0,
x2: 1,
y2: 0,
stop: 0 #ffffff,
stop: 1 #e6f1ff
);
}
/* 常规提示字体 */
QLabel {
font-family: "Microsoft YaHei";
color: #474747;
}
/* 标题 */
QLabel#label_title {
letter-spacing: 1px;
color: #164276;
font-size: 13pt;
font-weight: bold;
}
/* 输入框 */
QLineEdit {
font-family: "Microsoft YaHei";
border: none;
border-bottom: 2px solid #dfe9f6;
background: transparent;
}
/* 按钮 */
QPushButton {
padding: 1px 8px;
font-family: "Microsoft YaHei";
border: none;
border-radius: 6px;
background-color: #d8eafe;
color: #4499fe;
}
QPushButton#button_login {
letter-spacing: 5px;
}
QPushButton:hover,
QPushButton:avtive {
background-color: #4499fe;
color: #fff;
}
stuscore.ui
/* 主窗口 */
QMainWindow {
background-color: #f5f8fb;
}
/* 常规提示字体 */
QLabel {
font-family: "Microsoft YaHei";
color: #474747;
}
/* 标题 */
QLabel#label_title {
letter-spacing: 1px;
color: #164276;
font-size: 13pt;
font-weight: bold;
}
/* 表格 */
QTableWidget {
gridline-color: transparent;
border-radius: 6px;
}
QHeaderView {
border: none;
border-bottom: 1px solid #e6eff7;
background-color: #ffffff;
}
QHeaderView::section {
font-family: "Microsoft YaHei";
color: #8ea6c1;
background-color: #ffffff;
border: none;
border-bottom: 1px solid #e6eff7;
height: 40px;
}
QTableView QTableCornerButton::section {
background: #ffffff;
border: none;
border-bottom: 2px solid #e6eff7;
}
QTableWidget::item {
font-family: "Microsoft YaHei";
border: none;
border-bottom: 1px solid #e6eff7;
}
/* 按钮 */
QPushButton {
padding: 1px 8px;
font-family: "Microsoft YaHei";
border: none;
border-radius: 6px;
background-color: #d8eafe;
color: #4499fe;
}
QPushButton:hover,
QPushButton:avtive {
background-color: #4499fe;
color: #fff;
}
/* 输入框 */
QLineEdit {
font-family: "Microsoft YaHei";
border: none;
border-bottom: 2px solid #dfe9f6;
background: transparent;
}
Login class model:
StuScore class model:
用户登录实现流程图:
数据库展示在表格上具体实现流程图:
插入数据功能实现流程图:
Qt环境搭建及项目运行:
- Qt开发环境搭建(win10)
- Qt介绍以及Qt环境安装
- Qtcreator安装后,构建套件kits中Qt版本为无,且没有qmake
- Qt零基础系列
- QT快速入门 | 最简单最简洁的QT入门教程
- GR-805 : DX9 Overlay is DISABLED ERROR
- Qt Quick核心编程
- Qt ——debug调试
- QDebug 输出调试信息
数据库创建与维护:
- SQL 语法
- SQLite 创建数据库
- Sqlite3 常用命令
- Qt SQL 6.4.1
- QT应用SQL数据库,简单全面的应用,增删改查
- Qt SQL模块:访问ACCESS,SQLITE,模型及视图
界面设计参考:
界面代码实现样式表:
- QT,QLabel添加超链接
- QT中QLabel类的openExternalLinks和linkActivated使用时的一些注意细节
- Qt QTableWidget 样式表
- QT QTableView表格左上角样式
- qt - QTableWidgetItem如何设置单元格边框和背景色
- QT设置centralWidget布局
- Qt Qss 渐变颜色设置
Qt特有变量类型参考:
Qt 程序打包:
- Qt打包程序详解(适用于Windows平台)
- c++ - How to make Qt and Qtcreator link the libraries statically instead of dynamic
- 编译中使用strip的介绍
- Qt程序的调试版和发行版对应的宏定义QT_DEBUG和QT_NO_DEBUG
The MIT License.