首页 > 其他分享 >刘金玉QT学习笔记:7-简易用户信息管理界面实现_实现用户信息增改

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

时间:2023-11-23 17:44:35浏览次数:35  
标签:语句 增改 widget QT 表格 控件 用户 sql 数据

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

标签:语句,增改,widget,QT,表格,控件,用户,sql,数据
From: https://www.cnblogs.com/acciosth/p/17852062.html

相关文章

  • Linux用户管理
    1用户/组用户类型 超级用户(root):超级用户是系统的管理员,拥有对系统的完全控制权限。他们可以执行任何操作,包括修改系统文件和安装软件。系统用户:系统用户是为了运行系统服务或进程而创建的用户,通常没有登录系统的权限。这些用户用于运行系统中的各种服务,例如Web服务器或数据......
  • 刘金玉QT学习笔记:6-sqlite简易入门+QT结合使用
    //第一篇,测试一下1.Sqlite-linux自带-轻量级-关系型数据库2.安装-进入官网后点击Downloads-下载下图的两个zip,解压后把里面的文件放到C盘下自创一个sqlite的文件夹3.通过命令行使用sqlite3.exe来使用数据库-配环境变量作用:不用进入路径位置就可以打开(sqlite)4.基本......
  • Linux用户和用户,组的管理心得
    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提......
  • QT实战 之TableWidget控件
    QT实战之TableWidget控件指定列数setColumnCount(3)指定表头setHorizontalHeaderLabels(QStringList)指定行数setRowCount(5)设置每个单元格的内容setItem(int行数,int列数,*QTableWidgetItem内容)#include "tablewidget.h"#include "ui_tablewidget.h" TableWidge......
  • QT实战 之自定义控件(QSpinBox+QSlider)
    QT实战之自定义控件(QSpinBox+QSlider)创建自定义控件(QT设计师界面类)打开ui文件,拖拽需要用到的基础控件(QSpinBox+QSlider)事件绑定(注意QSpinBox::valueChanged有重载,需要用函数指针指定信号函数)使用自定义控件(拖拽添加Widget容器控件,右键菜单--提升为,打开提升对话框,填写提升的......
  • QT实战 之事件和定时器
    QT实战之事件和定时器自定义控件MyLabel,继承自QLabel(创建时继承自QWidget,创建好后再修改成QLabel)拖拽Label控件到主界面,然后将该控件提升为MyLabel(注意必须用MyLabel的直接父类进行提升,如果用Widget则无法进行提升)在MyLabel头文件中中声明重写事件在MyLabel源文件中重写事件......
  • ABP-VNext 用户权限管理系统实战02---用户权限表的创建与迁移
    一、表实体建立1、菜单表[Comment("菜单表")][Table("t_identity_menu")]publicclassMenu:AuditedAggregateRoot<Guid>,ISoftDelete,IMultiTenant{[MaxLength(200)][Comment("菜单名")]publicstringName{get;set;......
  • windows安装QT时出现“无法下载存档……”解决办法
    参考windows、Ubuntu安装QT时经常出现“无法下载存档……”解决办法-CSDN博客使用国内源安装:清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/北京理工大学:http://mirror.bit.edu.cn/qtproject/中国互联网络信息中心:http://mirror.bit.edu.cn/qtproject/步骤:在qt的exe......
  • JuiceFS 用户必备的 6 个技巧
    随着大数据、AI技术的发展,越来越多的企业、团队和个人开始使用JuiceFS,本文整理了6个超实用的JuiceFS技巧,帮助大家提升JuiceFS的管理效率。一、查看已挂载的文件系统有时候你可能在一台机器上挂载了多个JuiceFS文件系统,或是在多台机器上使用不同的选项挂载了同一个文件......
  • 队列存放用户请求,执行耗时操作的解决方案
    队列存放用户请求的实现方案直接上图待补充……......