• 4182阅读
  • 2回复

QTreeVew的expanded信号 [复制链接]

上一主题 下一主题
离线yangyunzhao
 

只看楼主 正序阅读 楼主  发表于: 2009-08-18
当我点击QTreeView的+号展开的时候,会发出expanded信号,但是这个信号发送的参数却和我的理解有别。如图:

我的理解是点击Logic View前面的+号,这个时候发出expanded信号的参数应该是Logic View的QMoudelIndex啊。但是我跟踪得到的却是Logic View的父节点的QMoudelIndex啊!!

我该如何才能够在点击Logic View前面的+号时,得到Logic View的QMoudelIndex
离线yangyunzhao

只看该作者 2楼 发表于: 2009-08-18
不该用

QStandardItem*indexItem = static_cast<QStandardItem*>(index.internalPointer());  

应该用

QStandardItem*indexItem = model.itemFromIndex(index);  
离线yangyunzhao

只看该作者 1楼 发表于: 2009-08-18
简要代码如下:
connect(treeView,SIGNAL(expanded(const QModelIndex&)),this,SLOT(TreeExpand(const QModelIndex&)));//连接信号槽

TreeExpand槽中部分代码
QStandardItem*indexItem = static_cast<QStandardItem*>(index.internalPointer());  //当前点击的Item
int rows = indexItem->rowCount();//通过这个数值可以简单判断
快速回复
限100 字节
 
上一个 下一个