当前位置:  开发笔记 > 编程语言 > 正文

QAbstractItemModel.parent(),为什么?

如何解决《QAbstractItemModel.parent(),为什么?》经验,为你挑选了1个好方法。

我是(Py)Qt新手,现在将C#GUI代码移植到Qt几天.我一直在问自己的一个问题是为什么QAbstractItemModel子类需要提供一个parent()方法,为什么它们需要在结果QModelIndex中提供父类中的子行?

这一要求迫使我在我的树数据添加另一层(因为我不想打电话给我们indexOf(item)parent(),它不会是非常有效的)可以记住排索引.

我问这个是因为这是我第一次看到基于模型的视图需要这个.例如,NSOutlineViewDataSource在Cocoa中不需要这样.

Trolltech开发人员很聪明,所以我确信这是有充分理由的,我只是想知道是什么原因.



1> Kaleb Peders..:

答案很简单,"他们认为当时最好." Qt开发人员就像你和我一样 - 他们并不完美,他们确实犯了错误.他们从这些经验中学到了知识,结果是以Itemviews-NG的形式进行的.

用他们自己的话来自上面的链接:

我们只是说有改进的余地,还有很多空间!

通过提供包含行和列索引的父级,它们提供了一种实现树和支持导航的可能方法.他们可以很容易地使用更明显的图形实现.

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有