• 7257阅读
  • 4回复

[提问]跪了,关于QModelIndex的简单问题。。。 [复制链接]

上一主题 下一主题
离线milawoai
 

只看楼主 倒序阅读 楼主  发表于: 2014-08-14
各位大神,我现在使用了一个·树形列表,在单击是,会响应一个:
QModelIndex &index现在我希望使用QModelIndex::sibling(int row, int column)来查找兄弟节点。。。但是,这怎么遍历啊。。sibling(int row, int column)的两参数应该怎么设,结束条件又该怎么设?。。。。
离线XChinux

只看该作者 1楼 发表于: 2014-08-14
兄弟的话,row+1就行了吧?
column的话,不一定都难保证有,但column为0,肯定有的吧?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线milawoai

只看该作者 2楼 发表于: 2014-08-14
回 XChinux 的帖子
XChinux:
兄弟的话,row+1就行了吧?
column的话,不一定都难保证有,但column为0,肯定有的吧?

你好,如下图所示,

如果单击89,会返回Index(row:1,col:0),但如何通过这个遍历66(row:0,col:0),12(row:2,col:0)呢,66,89,12这几个都是动态添加的组件,是不可事先知晓的
离线goodname

只看该作者 3楼 发表于: 2014-08-15

(1)
QModelIndex p = index.parent();//89的parent就是p
(2)
通过index.model(),比如说是QStandardItemModel,通过model的rowcount可以取得p的子项总数
(3)
通过p.child()函数遍历。

离线milawoai

只看该作者 4楼 发表于: 2014-08-16
回 goodname 的帖子
goodname:(1)
QModelIndex p = index.parent();//89的parent就是p
(2)
通过index.model(),比如说是QStandardItemModel,通过model的rowcount可以取得p的子项总数
....... (2014-08-15 09:31) 

谢谢,用你的方法可以完成
快速回复
限100 字节
 
上一个 下一个