Qt使用QSqlTableModel界面显示用法(四、修改功能)

QTableView实现在表格内直接对数据库内容进行修改、新增和删除等操作 文章目录前言QSqlTableModel新增删除修改提交取消 前言 本文主要利用QSqlTableModel+QTableView来实现直接在QTableView中进行对数据库数据的操作 新增:点击新增按钮之后,光标直接移到最后一行,然后双击进行表内容的填充。 删除:选中一行之后,点击删除。 修改:选中一行,点击修改,此时表内容可修改。 提交:将进行的操作提交到数据库操作。 取消:取消操作。 QSqlTableModel 简易用法: // QSqlTableModel(QObject*, QSqlDat 阅读详情

修改功能我用的方法也很简单,双击要修改的单元格,就可以弹出一个窗口,用于重新编辑。

要想使用tableview的双击功能,在ui界面上对tablevoew右击“转到槽”,选择doubleClicked(const QModelIndex &index)函数

在新建的函数体下写相应代码:

    QSqlTableModel * model = new QSqlTableModel(this,db);//新建model
    model->setTable("EXAMPLE");//设置表
    bool isOK;//定义bool类型
    QString text = QInputDialog::getText(this,"Update","修改当前内容",QLineEdit::Normal,index.data().toString(),&isOK);//弹出修改框,默认显示当前内容,修改后点击按钮,是则isOK为true,否则isOK为false
    if(!isOK)//判断isOKbool类型
        return ;
    if(model->select())//判断是否空表
        model->setData(model->index(index.row(),index.column()),text);//重新设置当前单元格内容
    model->submitAll();//提交修改
    ui->tableView->setModel(model);
    model->select();//显示修改后的数据

这里有一点要说的是输入框我们用的是

#include "qinputdialog.h"

头文件里自带的单行输入框,它会显示一个弹窗,将输入的文本传给自定义的text变量

为了编辑方便,我们选择默认显示要修改的数据,如图

这里的修改语句相当于数据库语句

update from EXAMPLE set city='北京' where city='上海'

~~~
继续下一节:查询功能

【Qt之QSqlTableModel】介绍及使用 阅读详情

相关推荐

关于QSqlTableModel的使用说明(QT上创建本地SQL)

前言:通常我们操作数据库时,需要使用sql语句;在qt开发环境中提供了QSqlTableModel类,它可以通过简单的接口去操作数据库,即使不熟悉sql语句也可以对数据库进行大部分的操作,而且该模型还具有数据缓存功能,在修改数据后并不是立刻同步到数据库中,允许用户进行数据撤回,如果已经提交到数据库的数据就不能进行撤回了;QSqlTableModel还有一个非常方便的操作就是它可以将数据库的所有记录显示到QTableView控件上,并可以直接通过QTableView控件对数据库任意位置的数据进行修改。下面就Q

嵌入式 5016

QT中QTableView对单个单元格操作的方法

此处举例QTableView对单元格操作的读取和写入。

白鱼儿的博客 4444

2024年Qt数据库(六)QSqlTableModel_qsqltablemodel onmanualsubmit,2024年最新C C++程序员必经的实践之路

我们将“陈刚”改为“李强”,如果我们点击“撤销修改”,那么它就会重新改为“陈刚”,而当我们点击“提交修改”后它就会保存到数据库,此时再点击“撤销修改”就修改不回来了。query.exec(QObject::tr(“insert into student values (1,’陈刚’)”));void Widget::on_pushButton_2_clicked() //撤销修改。

2401_84973716的博客 1133

【Qt自定义QSqlTableModel实现表格设置单元格字体颜色】

记录下Qt使用QTableView设置QSqlTableModel如何修改单元格字体颜色,以及自定义表头实现添加自己想要的按钮等自定义控件。

weixin_46246664的博客 1499

qt4到qt5使用qsqltablemodel的变化

查到了qt5的变更列表,在设计qsqltablemodel时有下面变化。 QtSql-----QSqlQueryModel/QSqlTableModel/QSqlRelationalTableModel* The dataChanged() signal is now emitted for changes made to an insertedrecord that has n

Big__Fly的专栏 1742

Qt QSqlTableModel详解

1.QSqlTableModel 用来显示数据库中数据表的数据,实现对数据的编辑、插入、删除等操作。实现数据的排序和过滤 2.常用API void setTable(const QString &tableName) //设置数据表名称 void setFilter(const QString &filter) //设置记录过滤条件 void setSort(int column,Qt::SortOrder order) //设置排序字段和排序规则,需调用select()才生...

希望能帮助大家,希望大家多多支持,你们的支持是我前进的动力。 2万+

QSqlTableModel 类操作数据库(创建、查询、删除、修改)详解

简介

wokaowokaowokao12345的专栏 8050

超声波清洗机拆解实录:从电路板到换能器,一文看懂内部构造(附高清图)

本文详细拆解了超声波清洗机的内部构造,从电路板设计到换能器工作原理,揭示了其核心技术。通过高清图片和详细分析,展示了功率放大电路、高频变压器及压电换能器等关键部件,为电子爱好者和维修技术人员提供了实用的故障诊断和元件二次利用指南。

grape的博客 1183

Qt使用QSqlTableModel界面显示用法(一、默认显示)

这是我的第一篇博客 如果有写的不好的地方请谅解 我会好好学习的! 首先qt使用数据库可以用最基本的exec执行语句,但是本章节我要介绍的是qt中自带的qsqltablemodel来显示数据库的数据。 i

yc__coder的博客 7659

【03】海康MVS V4.3.0 ——安装教程、查看示例、库、头文件、开发指南

海康威视MVS机器视觉软件安装与使用指南:首先从官网下载MVS 4.3.0安装包,默认设置完成安装。安装后可在Development目录查看示例代码、开发文档及头文件,支持C++/C#/Python等多语言开发。软件内置虚拟相机功能,通过工具菜单添加虚拟设备后即可模拟真实相机操作,支持中英文界面切换、参数调节(曝光/增益等)及图像采集功能。虚拟相机虽仅能显示预设图像,但完整保留了参数调节功能,适合开发者进行功能测试。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 3306

px3 有感分析

px3 后续分析

qq_39707917的博客 3115

Qt使用QSqlTableModel界面显示用法(五、查询功能)

众所周知,查询功能是所有基础操作中最麻烦的功能。

yc__coder的博客 7468

计算机组成原理(第三版)唐朔飞-第十章控制单元的设计-课后习题

计算机组成原理(第三版)唐朔飞-第十章控制单元的设计-课后习题

weixin_45735391的博客 3万+

Qt使用QSqlTableModel界面显示用法(三、删除功能)

删除功能,为了介绍方便,我将采用选中当前行进行删除操作 当然,考虑到误操作的可能性,我们在删除前会进行提示,提示我们选择使用QMessageBox 代码如下: void MainWindow::on_pushButton_2_clicked() { int row = ui->tableView->currentIndex().row();//记录当前选择行 if(QMessageBox::Yes == QMessageBox::question(this,"Make Sure"

yc__coder的博客 2743

如何对正射影像DOM(卫星影像、无人机航拍影像)进行拼接、合并以及去黑边(附 Global Mapper Pro 24.0 安装包(中文注册版))

为什么要对正射影像DOM进行拼接?影像去黑边、影像拼接的操作和步骤。

从地图看世界的专栏 4300

YOLOv13改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计

实时检测器架构的轻量级设计GsConv。

Limiiiing的博客 91

Qt使用QSqlTableModel界面显示用法(二、添加功能)

根据上一次的讨论,这次我们来研究一下QSqlTableModel的添加方法。 首先新建一个Qt界面 用dialog界面,因为我们需要dialog的exec()函数。 然后稍微设计一下显示窗口 这个界面就是添加的数据了,id是我们设定的主键值,随数据自动增长,所以不需要手动输入。 既然是添加操作,我们肯定要添加槽函数,在主ui下的添加按钮右击选择“转到槽”,一般选择默认的click()函数即可。 在.cpp函数下会显示 void MainWindow::on_pushButton_clicked() {

yc__coder的博客 2706

2、Minikube安装Ingress

文章目录前言一、Ingress安装二、Ingress Demo1.创建一个pod和service2.部署ingress3.添加minikube域名映射三、遇到的坑 前言 上篇介绍了Minikube的安装,本篇介绍一下如何在Minikube中安装Ingress。 一、Ingress安装 Ingress安装很简单,Minikube里面带了Ingress附件。 安装Ingress minikube addons enable ingress 禁用Ingress minikube addons disa

star_apple的博客 3071

【Qt】数据库实战之QSqlTableModel模型

00. 目录 文章目录00. 目录01. 概述02. 开发环境03. QSqlTableModel基本操作04. QSqlTableModel修改操作05. QSqlTableModel查询操作06. QSqlTableModel排序操作07. QSqlTableModel删除操作08. QSqlTableModel插入操作09. QSqlTableModel总结10. 附录 01. 概述 只读的QSqlQueryModel模型其实也可以实现编辑功能的,但是实现起来很麻烦。而QSqlTableModel提供

C/C++软件工程师、嵌入式软件工程师、物联网研发工程师、C/C++讲师、物联网讲师、嵌入式讲师、鸿蒙讲师---欢迎大家一起交流(私信添加博主微信) 1万+

强化学习(Reinforcement Learning)与动态系统控制方法

一个具体的 RBC 的例子是自动驾驶汽车中的交通规则。在训练过程中,代理通过与环境交互获取奖励信号,并学习如何在某个状态下采取最佳的行动,以最大化长期的累积奖励。在化工过程中,通过对生产过程中的温度、压力、流量等参数的控制来实现产品的质量和产量的提高。需要注意的是,以上代码只是一个简单的示例,实际的 MPC 系统可能会更加复杂,并包含更多的模型预测和控制算法来实现更复杂的控制任务。需要注意的是,以上代码只是一个简单的示例,实际的自动驾驶汽车系统可能会更加复杂,并包含更多的规则和条件来确保安全行驶。

AI天才研究院 4062

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

QT的SQL模块 - QSqlTableModel的使用

1、SQLite是一种无需服务器、无需进行任何配置的数据库。2、SQLite是可以跨平台使用的数据库。3、SQLite的驱动库文件很小,包含完整功能的驱动可以小到只有500KB。QtSQL提供的主要类的简要功能描述如下图所示QSqlDatabase用于建立与数据库的连接,一般先加载需要的数据库驱动,然后设置数据库的登录参数。数据库的操作一般需要将数据库的内容在界面上进行显示和编辑,Qt采用Model/View结构进行数据库内容的界面显示。

weixin_56169816的博客 1758

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Qt数据库练习之QSqlTableModel的使用(MySql数据库示例,含源码+注释)

一、各操作示例 提示:示例图中开始都先刷新了数据表,表明数据为最新数据;源码在本文第三节(源码含详细注释)。 1.1 修改记录(数据) 下图含手动更新记录和自动更新记录时的记录修改操作,其中前十秒是自动更新记录的操作,后十秒为手动更新记录的操作。 1.2 添加记录(数据) 下图为添加记录的操作,新添加的记录行的行标题是‘*’符号,并且当更新策略为手动更新时,需要手动保存记录。 1.3 删除记录(数据) 下图为删除记录的操作,删除后行的行标题变为‘!’,并且删除操作不区分自动/手动提交记录,无论怎样都是自

lw的博客 7694

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Qt使用QSqlTableModel界面显示用法-全代码(详细见之前博客)

.pro QT += core gui QT += sql greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++11 # The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on yo.

yc__coder的博客 1657

Qt SQL:QSqlQueryModel、QSqlTableModel

Qt SQL:QSqlQueryModel、QSqlTableModel

友善啊,朋友的博客 4176
上一篇: Qt使用QSqlTableModel界面显示用法(三、删除功能)
下一篇: Qt使用QSqlTableModel界面显示用法(五、查询功能)
巨蟹贼香
博客等级 码龄9年 76粉丝 43原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值