如何检测表视图中的项目何时更改?

Posted

技术标签:

【中文标题】如何检测表视图中的项目何时更改?【英文标题】:How to detect when item is changed in a table view? 【发布时间】:2011-08-14 15:14:36 【问题描述】:

我有这个表格视图,我在不同的列中写入一些数据。我通过在文本框中写入数据并单击“添加”按钮来添加数据。我正在修改它,方法是在表格视图中选择一行,将数据复制到文本框中,编辑它并按下“保存”按钮。

文本框中的数据除了发送到表格视图外,还用于我的应用程序中的其他计算。

我希望能够直接在表格视图上修改数据,然后发送更改后的数据以在另一个类中进行我需要的计算 - 就我而言。

现在我可以修改表格视图中的数据,但我如何发送数据已在视图中修改的信号?

有什么想法吗?

【问题讨论】:

【参考方案1】:

数据修改由 Qt 的 Model/View 框架中的模型处理。

要做你想做的事,获取TableView 模型的句柄(通过它的model() 成员),并将插槽连接到模型的dataChanged 信号。

只要现有项目中的数据发生变化,就会发出此信号。

(如果您想对列或行标题更改做出反应,则有不同的信号。)

【讨论】:

以上是关于如何检测表视图中的项目何时更改?的主要内容,如果未能解决你的问题,请参考以下文章

如何检测类的属性何时更改

iOS - 拖放碰撞检测如何检测您选择的项目何时拖过另一个子视图?

何时加载设置表

在启用分页的情况下检测滚动视图中的 y 偏移量何时发生变化

如何知道何时从子视图中单击了超级视图中的选项卡项

SwiftUI 检测视图何时不可见(有点视图会消失)并停止发布者