刘金玉QT学习笔记:7-简易用户信息管理界面实现_实现用户信息增改
1. 同第六课方式在widget里连接并创建数据库。
2. 通过QSqlQuery使用sql语句的第二种方法:
-在不同的函数中都要使用->做成全局变量
3. 表格网格控件tableview控件显示数据库的内容为表格行
-ui拖出控件
-qtableview控件通过QSqlQueryModel来渲染数据过程:
1 widget.h引入#include <QSqlQueryModel>
2 仍因要在不同的函数中都要使用->做成全局变量:QSqlQueryModel *qmodel;
3 在widget.cpp的构造函数里new并用QSqlQueryModel的setQuery(“”)方法从数据库里取出数据,最后用ui->tableview->setModel(qmodel)成功渲染:
4. 若要修改显示的表头:
方一:在查询数据库语句中,使用as关键词给要查询的字段取别名,如上代码截屏。
方一:用qmodel的setHeaderData方法,三个参数分别表示”索引,Horizontal/Vertical,Text”:
5. 增(注册):在两个lineEidt里输入数据->获取数据存于String->构造sql insert语句->执行语句->更新界面表格;
-不管是增、删还是改,主要逻辑可大致总结为:
获取要操作的数据存到一个字符串变量里->构造sql语句,变量拼接(‘”+hi+”’)->用query.exec(sql)执行语句->qmodel->setQuery(“select * from userinfo”)更新界面表格:
6. 改(更新用户数据):点击表格内数据->显示到两个lineEidt里随意修改->按下”更新用户数据”按钮更新;
-点击表格内数据转到槽click()有on_tableView_clicked(const QModelIndex &index);
-QModelIndex: 表数据的行索引;
-QString username = index.siblingAtColumn(0).data().toString(); :获取索引行第几列的数据并转成String数据类型:
-改的代码:
7. 删(删除用户数据):
-创建全局变量QModelIndex currentIndex方便不同函数使用赋值:widget.h中的private;
-currentIndexModel = ui->tableView->currentIndex();获取实时点击的index;
-删的代码:
8. 效果截图+使tableview各字段拉伸填充tableview