rowCount() 和 hasChildren() 有什么区别?
What is the difference between rowCount() and hasChildren()?
我想subclassQtCore.QSortFilterProxyModel
,发现它有两个class方法,功能很相似
rowCount()
和 hasChildren()
我可以用rowCount()==0
判断是否有children。为什么我需要一个单独的 class 方法 hasChildren()
?
他们的角色有何不同? hasChildren()
有必要吗?
rowCount() 与 hasChildren() 不同,因为第一个指示行数,第二个指示行数 children。正如您在将 rowCount 与零进行比较时所指出的那样,它们似乎是等价的。例如,如果模型没有列(columnCount() == 0)但有行(rowCount() > 0),那么它会有 children 吗?嗯,不,这就是为什么在各种模型中 QModelIndex 被验证为有效并且列数或行数大于零的原因。
因此,如果您想验证 QModelIndex 是否具有 children,最好使用 hasChildren()
,因为它更具可读性。
我想subclassQtCore.QSortFilterProxyModel
,发现它有两个class方法,功能很相似
rowCount()
和 hasChildren()
我可以用rowCount()==0
判断是否有children。为什么我需要一个单独的 class 方法 hasChildren()
?
他们的角色有何不同? hasChildren()
有必要吗?
rowCount() 与 hasChildren() 不同,因为第一个指示行数,第二个指示行数 children。正如您在将 rowCount 与零进行比较时所指出的那样,它们似乎是等价的。例如,如果模型没有列(columnCount() == 0)但有行(rowCount() > 0),那么它会有 children 吗?嗯,不,这就是为什么在各种模型中 QModelIndex 被验证为有效并且列数或行数大于零的原因。
因此,如果您想验证 QModelIndex 是否具有 children,最好使用 hasChildren()
,因为它更具可读性。