从JSON文件中获取了一个字典,由QTreeView
QStandardItemModel
表示。
用户可以重新组织QTreeView
(添加,删除,拖放)和重命名项目。
目标是:调用读取已更改QTreeView
的函数,生成字典并将其写入初始JSON文件。
我可以通过在发生更改后按QPushButton
或通过将该功能绑定到每个更改来执行此操作,例如删除项目时调用函数,添加项目时调用函数,重命名项目时调用函数等等。
如果发生任何变化,有没有办法调用函数?是否存在与所有上述变化相对应的信号?
答案 0 :(得分:1)
rowsMoved
和itemChanged
信号符合您的认为。见http://doc.qt.io/qt-4.8/qstandarditemmodel.html
答案 1 :(得分:1)
正如@vahancho在评论中建议的那样,您应该连接到layoutChanged信号。在进行任何可能影响视图的更改后,所有模型都应立即发出此信息。所以这将包括排序和过滤,以及重新排序,编辑,删除等。
dataChanged信号类似,但只有在您想要监控特定项目时才真正有用。