• 6970阅读
  • 5回复

[提问]QTreeWidget删除节点的问题 [复制链接]

上一主题 下一主题
离线wanjql
 

只看楼主 正序阅读 楼主  发表于: 2015-01-16
当treeWidget里只剩下一个treeWidgetItem时,删除就会报错,
QTreeWidgetItem *currentItem = ui->treeWidget->currentItem();
if(currentItem->parent() == Q_NULLPTR)
        
delete ui->treeWidget->takeTopLevelItem(ui->treeWidget->currentIndex().row());
else
        
delete currentItem->parent()->takeChild(ui->treeWidget->currentIndex().row());
错误提示在 <qtreeWidget.h> 的这句上:
inline QTreeWidgetItem *parent() const { return par; }
请问如何解决?

离线seahouse

只看该作者 5楼 发表于: 2015-01-27
回 liudianwu 的帖子
liudianwu:我就是类似方法用的
[图片]
效果图:
[图片] (2015-01-16 16:40) 

监视器么?好犀利!
离线wanjql

只看该作者 4楼 发表于: 2015-01-17
找到原因了  对应currentItemChanged信号的槽里,忘了对currentItem是否为空进行判断
离线liudianwu

只看该作者 3楼 发表于: 2015-01-16
我就是类似方法用的

效果图:
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线liudianwu

只看该作者 2楼 发表于: 2015-01-16
将代码改为if(currentItem->parent() == 0)试试
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线dbzhang800

只看该作者 1楼 发表于: 2015-01-16
你应该贴出你相关的代码,这种问题一般都是用户代码造成的。
快速回复
限100 字节
 
上一个 下一个