【发布时间】:2015-09-07 23:05:20
【问题描述】:
有一个从 JSON 文件中提取的字典,由 QTreeView QStandardItemModel 表示。
用户可以重新组织QTreeView(添加、删除、拖放)和重命名项目。
目标是:调用读取更改的QTreeView 的函数,制作字典并将其写入初始 JSON 文件。
我可以通过在更改发生后按QPushButton 或将该函数绑定到每个更改来做到这一点,例如删除项目时调用函数,添加项目时调用函数,重命名项目时调用函数等等。
如果发生任何变化,有什么方法可以调用函数吗?是否有这样一个信号对应所有提到的变化?
【问题讨论】:
-
QAbstractItemModel::dataChanged()和/或QAbstractItemModel::layoutChanged()信号可能会有所帮助。 -
QTreeView是一个视图,所以它是一个小部件。小部件通常不会发出更新信号,而是在应该更新时传递一个事件。您的意思是您想知道 model 何时更改?如果是这样,您应该阅读文档:请参阅introduction to model view programming。
标签: qt pyqt qtreeview qstandarditemmodel