QT学习笔记之QTreeWidget的增与删
来源:互联网 发布:mac 双系统mac丢失 编辑:程序博客网 时间:2024/05/31 15:19
写在前面
在实际的应用中,树形结构还是用的比较多的,比如安装目录的选择、查看部门的结构等等。所以学好属性结构还是大有裨益的。
增与删
下面是添加的功能:
//这是添加根节点的功能实现this->connect(ui->Root_btn, SIGNAL(clicked(bool)), this, SLOT(addRoot()));void Widget::addRoot(){ QString one = ui->first->text(); QString two = ui->second->text(); QString three = ui->third->text(); QTreeWidgetItem* item = new QTreeWidgetItem(); item->setText(0, one); item->setText(1, two); item->setText(2, three); ui->Tree->addTopLevelItem(item);}//这是添加叶子节点的实现this->connect(ui->Child_btn, SIGNAL(clicked(bool)), this, SLOT(addChild()));void Widget::addChild(){ QString one = ui->first->text(); QString two = ui->second->text(); QString three = ui->third->text(); QTreeWidgetItem* parent = ui->Tree->currentItem(); QTreeWidgetItem* item = new QTreeWidgetItem(); item->setText(0, one); item->setText(1, two); item->setText(2, three); parent->addChild(item);}
添加叶子节点字需要注意父节点的获取就可以了。
下面是删除节点的功能:
this->connect(ui->DEL_btn, SIGNAL(clicked(bool)), this, SLOT(deleteNode()));void del(QTreeWidgetItem* node){ if(node->childCount() > 0) { for(int i = 0; i < node->childCount(); i ++) { del(node->child(i)); } } else { delete node; }}void Widget::deleteNode(){ QTreeWidgetItem* item = ui->Tree->currentItem(); if(item->childCount() > 0) { for(int i = 0; i < item->childCount(); i ++) { del(item->child(i)); } } delete item;}
删除节点时记得循环删除这个节点下面的所有的子节点。
源码上传:http://download.csdn.net/detail/pkgk2013/9841470
1 0
- QT学习笔记之QTreeWidget的增与删
- QT Create 学习之 QTreeWidget
- 树– QTreeWidget –QT学习笔记
- Qt学习笔记-----QListWidget,QTableWidget和QTreeWidget
- QT 树型控件学习笔记 QTreeWidget
- Qt学习之路(40): QTreeWidget
- Qt学习之路(40): QTreeWidget
- Qt学习之路(40): QTreeWidget
- Qt学习之路(40): QTreeWidget
- Qt学习之路(40): QTreeWidget
- Qt学习之路(40): QTreeWidget
- Qt学习之路(40): QTreeWidget
- Qt 学习QTreeWidget
- QT之QTreeWidget
- QT Create 学习之 QTreeWidget--新建节点及样式设置
- QT学习笔记之QT与MySql的交互
- Qt中文手册 之 QTreeWidget
- qt中QtreeWidget与QstackWidget关联的问题
- 聚类算法——python实现学习向量量化(LVQ)算法
- 潜伏与启动-3-Rundll32
- 补码和反码
- Api开发者福利:Api在线管理,模拟请求测试,文档生成利器之Apizza
- “浪潮杯”山东省第八届ACM大学生程序设计竞赛 J
- QT学习笔记之QTreeWidget的增与删
- C#异常捕捉
- Java web文件上传
- int *p[] 与 int (*p)[]
- 基于maven的springMVC web项目的一些基本配置:
- MySQL事务和properties数据库连接
- Java 代码优化总结
- LeetCode: Binary Tree Inorder Traversal
- 使用正则表达式删除一个字符串中特定两个字符之间的所有字符