学生管理系统
准备环境
操作系统:Windows
数据库:Sqlite3
打包工具:Enigma Virtual Box
模板:QT Widgets Application
项目名:Student
基类:QDialog
类名:StudentDialog
一、使用Qt Creater创建项目
模板:QT Widgets Application
项目名:Student
基类:QDialog
类名:StudentDialog
创建完工程后如下:
二、在工程文件添加相关模块
三、交互界面设置
-
本次需要用到的控件有如下:
Combo Box
PushButton
tableView
Label
Line Edit
-
添加第一个组合框Combo Box
-
第二个组合框
-
添加一个排序按钮pushButton
-
添加显示表的内容tableView控件
-
添加提示Label控件和输入Line Edit
-
添加操作按钮PushButton
-
更改窗口标题为学生管理系统
-
修改控件名字
-
布局:自定义就可以了
四、四个按钮转到槽操作
插入、删除、修改、排序按钮
自动生成槽函数
五、头文件添加相关模块以及成员变量
-
头文件studentdialog.h添加相关模块
//工程文件需要添加:QT+=sql #include <QSqlDatabase> #include <QSqlQuery> #include <QSqlQueryModel> #include <QSqlError> #include <QDebug>
-
添加成员
-
studentdialog.h参考代码
#ifndef STUDENTDIALOG_H #define STUDENTDIALOG_H #include <QDialog> //工程文件需要添加:QT+=sql #include <QSqlDatabase> #include <QSqlQuery> #include <QSqlQueryModel> #include <QSqlError> #include <QDebug> QT_BEGIN_NAMESPACE namespace Ui { class StudentDialog; } QT_END_NAMESPACE class StudentDialog : public QDialog { Q_OBJECT public: StudentDialog(QWidget *parent = nullptr); ~StudentDialog(); private: //创建或连接sqlite数据库 void createDB(); //创建学生成绩数据表 void createTable(); //查询和显示数据表的内容 void queryTable(); private slots: //插入 void on_insertButton_clicked(); //删除 void on_deleteButton_clicked(); //修改 void on_updateButton_clicked(); //排序 void on_sortButton_clicked(); private: Ui::StudentDialog *ui; QSqlDatabase db; //建立应用程序和数据库连接 QSqlQueryModel model; //保存查询的结果集 }; #endif // STUDENTDIALOG_H
六、编写源代码
-
源文件studentdialog.cpp 添加相关函数
-
编写创建数据库驱动
//创建或连接sqlite数据库 void StudentDialog::createDB(){ //添加sqlite数据库驱动 db = QSqlDatabase::addDatabase("QSQLITE"); //设置数据库名字,如果“student.db”不存在会自动创建 db.setDatabaseName("student.db"); //打开数据库 if(db.open()== false){ qDebug()<<db.lastError().text();