Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在QTableView中编辑选中的数据/行?

如何在QTableView中编辑选中的数据/行?
EN

Stack Overflow用户
提问于 2021-05-11 11:53:38
回答 1查看 49关注 0票数 1

我有一个QTableView,如果用户选择了一行,我想通过单击表中的一个按钮来更改表中的数据。所以我的问题是,我不知道如何获取所选行的rowindex,将其传递给按钮。

我有这个对话框:

代码语言:javascript
运行
AI代码解释
复制
ListDialog::ListDialog(QWidget *parent, int listId) :
    QDialog(parent),
    ui(new Ui::ListDialog)
{
    ui->setupUi(this);

    DbManager conn;
    model = new QSqlQueryModel();
    conn.connOpen();
    QSqlQuery* query = new QSqlQuery(conn.mydb);
    QSqlQuery* query2 = new QSqlQuery(conn.mydb);

    query->prepare("SELECT f.name AS Name, f.quantityperpack AS Menge_pro_Pack, f.unit AS Einheit, c.amount AS Menge FROM Contains c, Food f WHERE c.ListId=:listId AND c.FoodId = f.FoodId");
    query->bindValue(":listId", listId);
    query->exec();
    model->setQuery(*query);
    ui->tableView->setModel(model);


    query2->prepare("SELECT name FROM lists WHERE ListId=:listId AND c.FoodId");
    query2->bindValue(":listId", listId);
    query2->exec();
    query2->next();
    ui->textBrowser ->setText(query->value(0).toString());

    conn.connClose();
}

当我点击这个按钮时,它应该会改变这个值

代码语言:javascript
运行
AI代码解释
复制
void ListDialog::on_pushButton_plus_clicked(){
    //get Index of selected Row
    //add 1 to the amount column in this row
}

我是新来的,所以谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-05-16 10:51:27

要在按钮处理代码中回答“如何获取所选行的行索引”的问题,请添加如下内容:

代码语言:javascript
运行
AI代码解释
复制
QModelIndexList indexes = ui->tableView->selectionModel()->selectedRows();
if( indexes.count() > 0 ){
    // indexes[0].row()     // will return the row-index of the first selected row
}

要确保一次只能选择一行,请使用以下命令设置tableView

代码语言:javascript
运行
AI代码解释
复制
ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67486203

复制
相关文章
MFC list control 控件判断当前选中行,设置行选中,取消行选中[通俗易懂]
下面是一个button(按钮)的触发事件,按钮按下检测list control(列表)控件是否有选中的行,把选中的删除。(m_list 是list control 的变量名)
全栈程序员站长
2022/07/11
3.1K0
QTableView样式
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128552.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/28
9190
jquery 选中某一行
jquery 选中某一行 html: <div class="chatBox-list" ref="chatBoxlist"> <div class="chat-list-people"> <div><img src="img/icon01.png" alt="头像"/></div> <div class="chat-name"> <p>小明</p>
Dream城堡
2018/09/10
1.3K0
Winform DataGridViewTextBoxCell 编辑添加右键菜单,编辑选中文本
如上是我们使用DataGridView时,编辑单元格右键会出现系统菜单。现在我们添加自己的右键菜单,并可以操作选中文字。
SpringSun
2023/02/03
1.3K0
如何在 Linux 中编辑配置文件?
在 Linux 系统中,配置文件是用于设置和自定义应用程序和系统行为的重要组成部分。为了进行配置更改或修改,您需要编辑相应的配置文件。本文将详细介绍如何在 Linux 中编辑配置文件的常见方法。
网络技术联盟站
2023/06/25
1.3K0
如何在 Linux 中编辑配置文件?
增强tclsh的行编辑功能
IC 设计这行的很多 EDA 工具都内嵌了tcl 解释器,所以日常工作免不了和 tcl 语言打打交道。如果想写两句 tcl 代码做个测试,当然可以新建一个脚本文件,不过比较懒的做法就是打开 tclsh 直接输入想要测试的代码。
icsoc
2020/07/06
7740
WdatePicker 如何在js里获取到选中的值
<input id="executeDateTime" class="txtbox_normal1 form-control Wdate"  onclick="WdatePicker({el:'executeDateTime',dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked:pickedFunc})" tabindex="3" />
爱明依
2019/03/12
11.8K0
如何在 PowerBI 中实现矩阵行中迷你图
这里显示了每位销售经理的 YTD 销售完成以及他的目标之间的差异,并通过迷你图实现了快速预览,以便直观看出其销售趋势。
BI佐罗
2022/01/05
6.1K0
如何在 PowerBI 中实现矩阵行中迷你图
24.QTableView函数使用,右击菜单实现
对于QStandardItem的setData()成员 函数的第二个参数role 是模型数据角色 
诺谦
2018/07/31
1.9K0
24.QTableView函数使用,右击菜单实现
Qt数据库sqlite总结
第四:QSqlTableModel  继承QSqlQueryModel类  --该类提供了一个可读写单张SQL表的可编辑数据模型,功能:修改,插入,删除,查询,和排序
bear_fish
2018/09/20
3K0
QTableView基本用法讲解,Qt表格控件的使用方法
QTableView是Qt中用来把数据集以表格形式提供给用户的一个控件,它与C++Builder中的DBGrid作用类似。坦白的说,DBGrid的使用要比QTableView更容易一些。但QTableView在使用麻烦的同时,也提供了更多的灵活性。   一、添加表头:
zls365
2020/08/19
16.3K1
QTableView基本用法讲解,Qt表格控件的使用方法
C# WinForm 设置DataGridView选中指定行
也有其他网友代码Cells[0]; 如下: 我试了 ,填0和1调试报错。所以 我填2
全栈程序员站长
2022/09/14
7160
winform 取消datagridview第一行选中状态
http://www.cnblogs.com/freeliver54/archive/2009/02/16/1391325.html
跟着阿笨一起玩NET
2018/09/20
2.9K0
Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)
表格与树解决的问题是如何在一个控件中有规律地呈现更多的数据。PyQt提供了两种控件类用于解决该问题,其中一种是表格结构的控件类,另一种是树形结构的控件类。
全栈程序员站长
2022/11/10
3.6K2
Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)
【SQL server 修改编辑前200行操作中的行数】
找到SQL Server对象资源管理器中的命令,在右侧的编辑前行命令栏,输入想要执行的行数操作,大于200小于200均可,根据实际的需求进行更改
magize
2023/07/11
5510
【SQL server 修改编辑前200行操作中的行数】
angularjs中设置select的选中项
最近用angularjs比较多,里面有很多自己的方法,都不咋会用,这篇只是个笔记,防止自己忘记
庞小明
2019/07/08
3.3K0
如何在matlab中实现可编辑下拉菜单?
小编经过权衡后,选择了第三种方式来实现,并相关操作集成到一个名为popUpMenu的函数当中,如果需要使用直接调用即可,下面就一起来看看这个函数吧。
巴山学长
2020/06/03
2.3K0
点击加载更多

相似问题

如何设置已选中/未选中的多个QTableView行

217

QTableView中的单个选择行激活列编辑

11

如何在qtableview中编辑具体项目?

10

如何在QTableView中禁用编辑模式?

33

QTableview行元数据

114
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档