1

有一个从 JSON 文件中获取的字典,由QTreeView QStandardItemModel.

用户可以重新组织QTreeView(添加、删除、拖放)和重命名项目。

目标是:调用读取 changedQTreeView的​​函数,制作字典并将其写入初始 JSON 文件。

我可以通过QPushButton在更改发生后按 a 或将该函数绑定到每个更改来做到这一点,例如删除项目时调用函数、添加项目时调用函数、重命名项目时调用函数等等。

如果发生任何变化,有什么方法可以调用函数吗?是否存在与所有提到的变化相对应的信号?

4

2 回答 2

1

rowsMoveditemChanged信号做你认为他们做的事情。见http://doc.qt.io/qt-4.8/qstandarditemmodel.html

于 2015-06-22T13:18:37.283 回答
1

正如@vahancho 在评论中建议的那样,您应该连接到layoutChanged信号。在进行任何可能影响视图的更改后,所有模型都应立即发出此信息。所以这将包括排序和过滤,以及重新排序、编辑、删除等。

dataChanged信号类似,但仅在您想要监视特定项目时才真正有用。

于 2015-06-22T16:22:55.483 回答