刘金玉QT学习笔记:7-简易用户信息管理界面实现_实现用户信息增改

发布时间 2023-11-23 17:43:25作者: acciomerlin

1. 同第六课方式在widget里连接并创建数据库。

 

2. 通过QSqlQuery使用sql语句的第二种方法:

-在不同的函数中都要使用->做成全局变量

微信截图_20231123150515微信截图_20231123150738

 

3. 表格网格控件tableview控件显示数据库的内容为表格行

-ui拖出控件

微信截图_20231123152613

-qtableview控件通过QSqlQueryModel来渲染数据过程:

1 widget.h引入#include <QSqlQueryModel>

2 仍因要在不同的函数中都要使用->做成全局变量:QSqlQueryModel *qmodel;

3 在widget.cpp的构造函数里new并用QSqlQueryModel的setQuery(“”)方法从数据库里取出数据,最后用ui->tableview->setModel(qmodel)成功渲染:

微信截图_20231123153438

 

4.  若要修改显示的表头:

方一:在查询数据库语句中,使用as关键词给要查询的字段取别名,如上代码截屏。

方一:用qmodel的setHeaderData方法,三个参数分别表示”索引,Horizontal/Vertical,Text”:

微信截图_20231123154005

 

5. 增(注册):在两个lineEidt里输入数据->获取数据存于String->构造sql insert语句->执行语句->更新界面表格;

-不管是增、删还是改,主要逻辑可大致总结为:

获取要操作的数据存到一个字符串变量里->构造sql语句,变量拼接(‘”+hi+”’)->用query.exec(sql)执行语句->qmodel->setQuery(“select * from userinfo”)更新界面表格:

微信截图_20231123171046

 

6. 改(更新用户数据):点击表格内数据->显示到两个lineEidt里随意修改->按下”更新用户数据”按钮更新;

-点击表格内数据转到槽click()有on_tableView_clicked(const QModelIndex &index);

-QModelIndex: 表数据的行索引;

-QString username = index.siblingAtColumn(0).data().toString(); :获取索引行第几列的数据并转成String数据类型:

微信截图_20231123165853

-改的代码:

微信截图_20231123170603

 

7. 删(删除用户数据):

-创建全局变量QModelIndex currentIndex方便不同函数使用赋值:widget.h中的private;

-currentIndexModel = ui->tableView->currentIndex();获取实时点击的index;

-删的代码:

微信截图_20231123171437

 

8. 效果截图+使tableview各字段拉伸填充tableview

微信截图_20231123162744