首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QTableView项目的“编辑完成”信号是什么?

QTableView项目的“编辑完成”信号是什么?
EN

Stack Overflow用户
提问于 2013-04-29 14:57:58
回答 2查看 7.6K关注 0票数 5

我想知道用户何时完成了QTableView项目的编辑,所以我检查了所有可用的信号,但我只找到了在编辑之前会发出的信号。

那么,我现在应该做什么呢?

运行Qt 4.8.4

EN

回答 2

Stack Overflow用户

发布于 2013-04-29 17:32:58

由于您QTableView将附加一个模型,因此请连接到其信号,

例如void QStandardItemModel::itemChanged ( QStandardItem * item ) [signal]

或者,更一般地说:

void QAbstractItemModel::dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight )

您还可以连接到selection model信号。

通常,当你编辑完一个项目时,焦点会切换到下一个,所以selectionmodel会触发currentChanged,但这不是通用的。

票数 8
EN

Stack Overflow用户

发布于 2015-10-12 19:46:57

只有在QAbstractItemDelegate中才能找到关于已完成编辑的真实信号。这是closeEditor()信号。如果用户不更改单元格中的任何内容,则来自模型的所有其他信号将不起作用,但每次编辑完成时,委托都会关闭。就像医生说的:

当用户使用指定的编辑器编辑完项目时,会发出此信号。

该提示为代理提供了一种在编辑完成后影响模型和视图行为的方法。它向这些组件指示下一步应该执行什么操作,以便为用户提供舒适的编辑体验。例如,如果指定了EditNextItem,则视图应使用委托来打开模型中下一项的编辑器。

用法:

代码语言:javascript
复制
connect(ui->tableView->itemDelegate(),SIGNAL(closeEditor(QWidget*,QAbstractItemDelegate::EndEditHint)),SLOT(someSlot()));
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16272872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档