在QTreeWidget中删除QTreeWidgetItem
我就想删除topLevelItem stackoverflow上是这样说的:
http://stackoverflow.com/questions/9392051/how-do-i-delete-a-top-level-qtreewidgetitem-from-a-qtreewidget
http://stackoverflow.com/questions/9986231/getting-a-qtreewidgetitem-list-again-from-qtreewidget
以下代码ProjDataView这个类只是单纯继承QTreeWidget
#include "ProjDataView.h" int main(int argc, char *argv[])
{
QApplication a(argc, argv); ProjDataView* dataView = new ProjDataView(); for (int i = ; i < ; ++i){ QTreeWidgetItem* item = new QTreeWidgetItem(QStringList() << QString("test") + QString::number(i)); dataView->addTopLevelItem(item); } for (int i = ; i < dataView->topLevelItemCount(); ++i){ delete dataView->takeTopLevelItem(i); } dataView->show(); //MyManagerWidget* mng = new MyManagerWidget(0); //mng->show(); return a.exec(); }
如果用上述的代码是不对的,所以从窗口中看出才删除了test0,test2,test4.
如果要全删除的话可以这样:
while(dataView->topLevelItemCount() > 0){delete dataView->topLevelItem(0);}
那个for里边每执行一次dataView->topLevelItemCount()都会变化,
相应的dataView->topLevelItem(i),也是会变化的。完全不对。
不过我最终考虑用clear
参照这个:http://stackoverflow.com/questions/13062327/how-to-delete-qtreewidgetitem
references:
http://tieba.baidu.com/p/3849541021?pid=70405672647#70405672647
在QTreeWidget中删除QTreeWidgetItem的更多相关文章
- PyQt(Python+Qt)学习随笔:QTreeWidget树型部件中的QTreeWidgetItem项构造方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeWidget树型部件的项是单独的类对象,这个类就是QTreeWidgetItem. QTr ...
- PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中的topLevelItem、indexOfTopLevelItem和takeTopLevelItem方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 获取指定位置顶层项 树型部件QTreeWidget中,通过topLevelItem方法根据位置索引取 ...
- PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中判断项是否首列跨所有列展示的isFirstItemColumnSpanned方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在前面<PyQt(Python+Qt)学习随笔:QTreeWidgetItem项是否首列跨所有 ...
- PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中的项编辑方法editTriggers、editItem和openPersistentEditor作用及对比分析
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在树型部件QTreeWidget中,有三种方法触发进行项数据的编辑:editTriggers触发编辑 ...
- PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中使用sortItems进行项排序
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的项可以使用sortItems方法按照指定列进行排序,调用语法: s ...
- java 在循环中删除数组元素
在写代码中经常会遇到需要在数组循环中删除数组元素的情况,但删除会导致数组长度变化. package com.fortunedr.thirdReport; import java.util.ArrayL ...
- QTableWidget行选中/删除/添加行
1 均分各列 tableWidget->horizontalHeader()->setStretchLastSection(true); //就是这个地方 tableWidget-> ...
- JavaScript从数组中删除指定值元素的方法
本文实例讲述了JavaScript从数组中删除指定值元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个 ...
- sql语句中----删除表数据drop、truncate和delete的用法
sql语句中----删除表数据drop.truncate和delete的用法 --drop drop table tb --tb表示数据表的名字,下同 删除内容和定义,释放空间.简单来说就是把整 ...
随机推荐
- 斐波那契数列 51nod
1242 斐波那契数列的第N项 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 斐波那契数列的定义如下: F(0) = 0 F(1) = 1 F(n) ...
- android改动tab 导航 指示器颜色
我事实上想改动的上面的蓝色条条,改成红色. 这个问题实在是困扰我了太长时间.之前參照google的这个文章: https://developer.android.com/training/basics ...
- 设计模式(二)工厂模式Factory (创建型)
工厂模式分为三种:简单工厂模式 (Simple Factory) .工厂方法模式(Factory Method).抽象工厂模式(Abstract Factory) //举例:发送邮件和短信的例子 /* ...
- Union和Union All的差别
如果我们有一个表Student,包含下面字段与数据: drop table student; create table student ( id int primary key, name nvarc ...
- [AngularJS] Using $parse Service
$parse is useful when you want to parse an expression and the context is not defined yet. For exampl ...
- 【移动开发】Android中WIFI开发总结(一)
WIFI就是一种无线联网技术,常见的是使用无线路由器.那么在这个无线路由器的信号覆盖的范围内都可以采用WIFI连接的方式进行联网.如果无线路由器连接了一个ADSL线路或其他的联网线路,则又被称为“热 ...
- Filtering Specific Columns with cut
Filtering Specific Columns with cut When working with text files, it can be useful to filter out s ...
- 进程ps、kill 、grep
linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有 ...
- CSS选择符详解之关系选择符篇
原文:http://www.chinaz.com/web/2012/1017/278553.shtml 相信大家都对CSS选择符都不陌生,选择符包含:元素选择符.关系选择符.属性选择符.伪类选择符.伪 ...
- 黑马程序员-out和ref
C# 方法参数关键字:ref.out 当希望方法返回多个值时,声明 out方法很有用.使用 out参数的方法仍然可以将变量用作返回类型(请参见 return),但它还可以将一个或多个对象作为 out参 ...