Qt 中QModelIndex的一个不正确用法解说

发布: 2009-06-27 17:46

最近项目中用到了QDirModel实现一个树形结构,这个功能需要首先记住某个QModelIndex处的文件路径,再某时间段后使用这个记录的QModelIndex的文件路径。
接下来操作过程不断出现程序崩溃的情况,怎么查也找不到问题。大概折腾了两三个小时的时间,便决定采用另一种方法,记录这个结果的绝对路径,然后使用的时候通过这个路径得到一个QModelIndex,这样竟然不再出现问题。
回头想了一下,原来在记录了这个QModelIndex后,又执行了多个相关的树结构的操作,那么原先的那个QModelIndex可能已经无效了,这个随便的错误用法导致程序随机出现一些崩溃现象,才明白过来这种用法的错误之处。
总结一点,这个QModelIndex不能做类似的用途,由于它是动态生成的位置变量,具有相当的“不稳定性”特点。


原文: http://qtchina.tk/?q=node/305

Powered by zexport