【发布时间】:2016-07-31 20:44:27
【问题描述】:
大家好。
- 我有一个项目树,如上图所示(项目树)。
- 我需要以图像(视图)上显示的方式显示此树。 它有两个视图,树视图和列表视图。树视图应该显示整个项目树,列表视图应该在树视图中显示选定项目的属性。 (在图像上显示猫物品的属性)
- 现在的实施方式显示在图像的“当前实施”部分。 TreeModel 包含项目树,当您单击 TreeView 中的项目时,当前项目将发送到 ListModel 以显示其属性。
我在这里遇到的问题是两个视图中的项目都是可编辑的。在树视图中,您可以编辑项目的名称,并且此更改也应该出现在列表视图中。相反的方向也是如此。更改 Cat 项目的名称应反映在 treeView 猫项目上。 由于它是两个不同的模型,因此仅当您将鼠标悬停在另一个视图上时才会进行更改。 我目前所做的是在一个视图中更改项目,我通过 QModelIndex::match() 在另一个视图中搜索项目,然后通过发出 dataChanged() 更新视图的该部分。我不确定这是一个好方法。所以,如果你能给我一些关于如何做得更好的想法。 谢谢。
【问题讨论】: