QT:鼠标点击tableView控件表格的某行,获得其内容并显示在相应lineEdit控件上

QTableview显示及单元格内容获取 qt中的显示模式是model/view方式。 阅读详情

懵懂初学者,大神路过还请批评指正!

数据库: MYSQL
软件: QT5.4
数据: student表格一张,内含学号、姓名、选课号

话不多说直接上代码:

//tableView的点击槽函数,由设计师界面右键tableView、点击转到槽、点击cliked()选项生成
void tableVieShow::on_tableView_student_clicked(const QModelIndex &index)
{
    QSqlTableModel *model = new QSqlTableModel;
    model->setTable("student"); //指定要做模型的表
    model->setHeaderData(0, Qt::Horizontal, "学号");  //设置第一列的字段名为学号
    model->setHeaderData(1, Qt::Horizontal, "姓名");
    model->setHeaderData(2, Qt::Horizontal, "选课号");
    model->select();

    ui->tableView_student->setModel (model); //关键步骤
    QSqlRecord record=model->record(index.row()); //关键步骤  
     
    //01.记录被点击行的"name"列(与数据库这张表的列头名相同),到局部变量namestr中
    QString namestr = record.value("name").toString(); 
    //02.下同 
    QString sid = record.value("stuID").toString();
    QString chooseCID= record.value("chooseClassID").toString();     
    //显示相应文本到lineEdit控件
    ui->lineEdit_stuID->setText(sid);
    ui->lineEdit_name->setText(namestr);
    ui->lineEdit_chooseClassID->setText(chooseCID);
}

ps:记得补充相应头文件

控件图:
课程的还没做,但原理相同

效果图:
点击前:
在这里插入图片描述
点击后:
在这里插入图片描述
好处:现在就可以直接编辑lineEdit的内容,进行“改”功能,省去手动输入。

Qt之QTableview显示及单元格内容获取 qt中的显示模式是model/view方式。 阅读详情

相关推荐

获取QTableView当前选中行

当用户选择一行或多行时,我们可能需要获取选中行的数据或索引。本文将介绍如何通过QTableView获取当前选中行的数据。有了选择模型后,我们可以使用selectedRows()方法获取选中行的ModelIndex。接着,我们可以通过ModelIndex获取对应的数据项。QTableView通过选择模型(QItemSelectionModel)跟踪选中的行和列。因此,我们需要先获取QTableView的选择模型。这样,我们就可以通过简单的几行代码,轻松地获取QTableView当前选中行的数据和索引了。

CoderHH的博客 5066

QTQTableView获取指定的单元格中的内容

QTQTableView获取指定的单元格中的内容 **** 第一行获取到tableView当前的索引 第二行获取到索引的行坐标 第三行获取到tableView第index行第3格的数据,.data()返回的数据类型是QVariant

chris的博客 7027

Qt之QTableView 获取当前选中行

QModelIndexList list = ui->tableView->selectedIndexes(); if (list.count() <= 0) return; QModelIndex index = ui->tableView->selectionModel()->currentIndex(); int iSe...

Ilson_的博客 3万+

Qt实现阅读Qtablewidget的值,传递至lineedit显示,edit上修改再传回表格

Qt实现阅读Qtablewidget的值,传递至lineedit显示 学习笔记 1.利用槽函数连接一个双击的动作与表格,找到表格对应的指针 2. 根据指针找到对应文本信息,接收,再绑定到对应edit中 1.首先在之前的tablewidget格式设定时选择了一次选中一行 //单击选择一行 ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); //设置只能选择一行,不能多行选中 ui->tableWidget

凉酱的博客 5458

【数学建模】编程手学习路线

在学习过程中,建议注重理论与实践相结合,多进行实例练习和项目实践,以巩固所学知识并提升实际应用能力。同时,保持对新技术和新方法的关注和学习,不断提升自己的专业素养和竞争力。NumPy、Pandas、Matplotlib和Seaborn等库是数据处理和可视化的重要工具。掌握常用机器学习算法的原理和应用,如决策树、支持向量机、神经网络等。学习内容包括微积分、线性方程组、矩阵运算、概率分布、统计推断等。学习内容包括基本语法、函数和模块、面向对象编程、文件操作等。深入了解优化理论和方法,如梯度下降法、牛顿法等。

2301_79586491的博客 2960

详解【异质图卷积网络 RGCN】回顾:图神经网络问题的三大处理步骤 | 从起源说起,RGCN核心公式解释,两种降低模型参数量/优化的方式,附核心代码实现讲解

本篇,我们深入分析和学习RGCN的原理以及为何要这么做。首先让我们来回顾对于图神经网络问题的三大处理步骤,可以说,这是该深度学习模型的基本理解,后续都是在深化其中的细节处理。然后以容易理解的方式,引出异质图卷积网络RGCN的由来,主要讲解其核心公式和论文中作者所提出的两种降低模型参数量/优化的处理办法,并给出基础分解以及块对角分解的核心实现代码讲解。最后附上RGCN源代码及说明。

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 1279

C++ Qt桌面应用开发:从环境搭建到实战通讯录项目

在C++桌面应用开发中,跨平台框架的选择与核心机制的理解是构建稳定应用的基础。信号与槽机制作为事件驱动编程的核心,通过类型安全的对象间通信替代传统回调,有效降低了模块耦合度,是实现GUI交互逻辑的关键技术。这一机制与父子对象内存管理模型相结合,为开发高性能、易维护的桌面软件提供了工程化保障。其应用场景广泛覆盖从传统工具软件到现代跨平台客户端。本文以Qt框架为例,通过一个完整的通讯录管理系统实战项目,系统演示了如何利用信号与槽机制与布局管理器,打通从环境配置、核心组件使用到数据持久化的完整开发链路,为C++开

weixin_34221773的博客 337

【RT-DETR涨点改进】独家Conv改进篇 | 来自TIP 2024顶刊| 引入 DEConv细节增强卷积模块, 能够恢复更多细节信息,提升小目标检测精度、含多种不同模型改进点

本文提出了一种细节增强卷积(DEConv)模块,通过融合多种差异卷积(CDC、ADC、HDC、VDC)来增强图像特征表示能力,特别在边缘和纹理细节提取方面表现突出。该模块采用重参数化技术,在不增加计算成本的情况下,将先验信息融入常规卷积层,显著提升了RT-DETR模型在模糊或遮挡场景下的目标检测精度。实验验证了DEConv在多种骨干网络(ResNet18/50、HGNet等)中的有效性,为实时目标检测系统提供了轻量高效的改进方案。

Ai缝合怪、助力小伙伴高效发论文 449

MVC框架在项目数据处理中的应用

本文介绍了MVC(Model-View-Controller)架构及其在Qt框架中的实现。MVC将数据与界面分离,Qt4引入的model/view架构简化了这一模式,通过模型索引访问数据,并使用委托处理用户输入和自定义渲染。文章详细说明了模型、视图和委托的交互方式,以及如何通过QAbstractItemModel和QAbstractItemView实现标准化接口。最后,以员工管理系统为例,展示了如何通过自定义委托(如SpinBoxDelegate和ComBoxDelegate)实现不同视图(列表、表格、树形

WSTONECH的博客 200

8.26华为OD机试真题 新系统 - 字符串回文判 (Java/Py/C/C++/Js/Go)

8.26华为OD机试真题 新系统 - 字符串回文判 (Java/Py/C/C++/Js/Go)

算法大师! 1229

生产环境中redis的SCAN命令如何替代KEYS命令?

本文介绍了使用SCAN命令替代KEYS的完整方案。SCAN通过游标分批迭代,避免KEYS命令遍历整个键空间导致的阻塞风险。文章详细说明了SCAN的基础语法、迭代流程和Java实现示例,强调必须关闭Cursor避免连接泄漏。针对生产环境,提供了COUNT参数调优、客户端去重、集群模式适配等优化建议,并列举了典型错误场景。SCAN通过分批次迭代和游标管理,可安全实现高性能键空间遍历。全文150字。

DN金猿的博客 179

工业视觉笔记快捷搜索---目录

工业视觉需要时可抄的代码---持续更新 一(1-28)目录1、批量访问图片,等待键盘1.2 批量访问图像(不用提前批量重命名)--访问文件夹底下所有同类型图像1.2.1 单独只有批量访问的1.3 批量访问图像(也是不用提前批量重命名)--访问文件夹底下所有同类型图像1.4 批量访问图像(也是不用提前批量重命名)--访问文件夹底下所有同类型图像1.5 批量访问图像(不用提前批量重命名)--单张和批量前面路径相同(jiefeng)1.6 批量访问图像(不用提前批量重命名)--单张和批量前面路径相同(bioake

weixin_47059239的博客 1529

【3】 灰度变换(1)

第三章(1)【总三】

课题分离 659

QT界面操作之QTableview如何获取某一行一列的数据

但凡要用到数据库的系统,基本少不了QTableView,这套MVC的机制在QT中能够应用娴熟,对我们的开发效率提高大有裨益。这里我们来看看它的具体用法; 一、连接数据并显示 1、连接数据库(这步请参考我其他博文) 2、声明QSqlTableModel实例对象,并绑定数据表 3、设置TableView绑定的SqlTableModel 代码如下: QSqlTableModel model=new QSqlTableModel(this); model->setTable("tbCustom"); m

河西~石头 2万+

相似贴子推荐:基于 LangChain4j + Milvus 的混合检索实战

本文提出了一种基于LangChain4j和Milvus的混合检索方案,用于解决论坛社区中的相似帖子推荐问题。该方案结合稠密向量语义检索和BM25关键词检索的优势,通过RRF算法实现结果融合。系统采用bge-small-zh模型生成语义向量,利用Milvus 2.5+原生支持的BM25功能和混合搜索API,在百万级数据规模下实现50ms内的检索延迟,召回率和精确率分别提升15%和22%。文章详细介绍了从数据预处理、向量化到混合检索的完整实现流程,并探讨了进阶优化方向,为推荐系统和RAG应用提供了高效解决方案。

分享AI、区块链技术及应用,未来已来 88

HotSpot G1 GC 的分区记账、SATB 并发标记与停顿目标调优解析

线上GC毛刺该调停顿目标、加大新生代还是换收集器?本文从HotSpot G1的设计出发,梳理分区与巨型对象、卡表与记忆集、写屏障与细化线程、停顿预测、SATB并发标记、自适应IHOP、混合回收规则及Full GC兜底,并注明JDK8至JDK27的版本差异。文中在JDK8与JDK17上实测:停顿目标从200ms降到20ms,伊甸区缩小四成、P99下降但仍超目标;巨型对象会反复触发又撤销并发标记;JDK17并行Full GC平均停顿约为JDK8的三成。最后给出日志解读、参数清单、调优流程与选型。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 170万+

PyQt5学习记录:QTableView如何获取指定单元格中的内容

@pyqtSlot() def on_pushButton_clicked(self): print("保存配置文件") row = self.tableviews.currentIndex().row() colum = self.tableviews.currentIndex().column() text = self.tableviews.currentIndex().data() data=[str(row),

山中坐的博客 7724

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Qt--tableWidget相关操作

从tableWidget取出某一行内容

weixin_55715269的博客 7740

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

QTableView获取选中行指定列的内容(新手上路)

1、第一次用QT写东西,在tableview对象后面的函数列表里翻来翻去,找了个看起来顺眼的selectedRows来试图获取选中行的内容,然后插入到list里面。 QList<QModelIndex> list= ui.mould_table->selectionModel()->selectedRows(); qDebug() << list[0].data().toString(); qDebug() << list[1].data().toStr

someone0912的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

QT控件之(TableWidget)中添加控件点击所在控件获取当前行列号

操作步骤就是: 首先是在tablewidget中加入控件,然后点击当前的单元格中的控件,获取当前所在的行号和列号 好了,话不多说,我来贴上源码: MainWindow.h中: #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QCheckBox> #include <QDebug> QT_BEGIN_NAMESPACE namespace Ui { clas

Littlehero_121的博客 6053

UITableView获取当前选中的控件的indexPath

通到取得在tableView中的位置,取得所在indexPath [code="java"]- (IBAction)cellButtonTapped:(id)sender { UIButton *button = sender; CGPoint correctedPoint = [button convertPoint:button.bounds.origin toView:self.t...

Coding 504

Qt——如何获取QTableView选定单元格的内容

QModelIndex index3 = model->index(index.row(), index.column()); //获取选定的单元格的内容 cell = model->data(index3).toString(); qDebug() << "cell:" << cell; 效果图:

UNDEFINED_AUBE的博客 4489

Qt QTableWidget读取单元格数据

QTableWidget读取单元格数据

love_dear的博客 1922

Qt: 读取表格(QTableWidget)某个单元格的值

Qt开发,需要读取表格控件QTableWidget中某个单元格的值,怎么操作呢?研究一番,找到答案: 例如要读取途中表格的第1行第1列: 代码: //index(行,列) QString value = ui->table->model()->index(0,0).data().toString(); qDebug() << "cell内容: " << value; 效果: 题外话,和WinForm的cell.value相比,Qt中通过 mode

小鹰信息技术服务部 1万+

QTableWidget获取某单元格QLineEdit的editingFinished()信号

QTableWidget获取某单元格QLineEdit的editingFinished()信号 问题: QTableWidget的单元格文字支持是由其代理类创建的QLineEdit提供的,但是无法直接获取其QLineEdit的指针,因此就无法获得editingFinished()信号了。 如果自己实现代理类,然后引出信号,实现起来又太过麻烦。 解决办法: 经过尝试,考虑使用信号QAbstractItemModel::dataChanged()来代替,则方便许多。 其中,model由函..

qq_36597125的博客 4268

QT获取lineEdit内容并写入文件中

在ui中创建一个lineEdit 然后 QString sss=ui->lineEdit->text(); 这样就获得了lineEdit的内容,并转为了QString格式,接下来参考 https://editor.youkuaiyun.com/md/?articleId=119974326 这篇文章, 加一句 *outFile<<sss; 即可! 代码如下 void test::stringTest() { QString sss= ui->lineEdit->text();

SunPengMSE的博客 2万+
下一篇: QSqlError("", "", "")
THRoot
博客等级 码龄7年 8粉丝 4原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值