话不多说,运行截图如下:

代码如下:

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QTreeWidgetItemIterator>
#include <QStringList>namespace Ui {
class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();public slots:void pressBtn();private:Ui::Widget *ui;
};#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);QStringList header;header.append(tr("第一列"));header.append(tr("第二列"));header.append(tr("第三列"));ui->treeWidget->setHeaderLabels(header);QTreeWidgetItem *topItem1=new QTreeWidgetItem();topItem1->setText(0,tr("第一个头结点"));ui->treeWidget->addTopLevelItem(topItem1);QTreeWidgetItem *topItem2=new QTreeWidgetItem();topItem2->setText(0,tr("第二个头结点"));ui->treeWidget->addTopLevelItem(topItem2);ui->treeWidget->setColumnWidth(0,150);for(int i=1;i<=5;i++){QTreeWidgetItem *newItem=new QTreeWidgetItem();newItem->setText(0,tr("第")+QString::number(i)+"个子结点");topItem1->addChild(newItem);}ui->treeWidget->expandItem(topItem1);connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(pressBtn()));}void Widget::pressBtn(){QTreeWidgetItemIterator it(ui->treeWidget);int CountNum=0;      //注意int的范围int MaxNodeNum=0;   //注意int的范围MaxNodeNum=(*it)->childCount();while (*it) {CountNum++;if((*it)->childCount()>MaxNodeNum)MaxNodeNum=(*it)->childCount();it++;}ui->label_3->setText(QString::number(CountNum)+tr("个"));ui->label_4->setText(QString::number(MaxNodeNum)+tr("个"));
}Widget::~Widget()
{delete ui;
}

main.cpp

#include "widget.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}

Qt工作笔记-QTreeWidget求总结点数以及此树中最多孩子的个数(非递归)相关推荐

  1. Qt工作笔记-QTreeWidget中调用setHeaderItem设置头后,不能addChild

    今天在文档里面看了QTreeWidget,里面有添加header, 其中有一个函数是setHeaderItem,这里的参数是QTreeWidgetItem. 运行如下图: 代码如下: widget.h ...

  2. Qt工作笔记-QTreeWidget中itemAt中的坑

    程序运行截图如下: 用:QTreeWidgetItem *currItem=ui->treeWidget->itemAt(0,0); (0,0)点坐标,当滚动条没有拉动的时候: 点击这个页 ...

  3. Qt工作笔记-QTreeWidget顺序查找包含内容的字符串

    运行截图如下: 代码如下: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget>namespace Ui { class ...

  4. Qt工作笔记-主界面传输数据到附属界面(通过信号与槽非构造函数)

    通过信号与槽非构造函数, 运行截图如下: 文件结构如下: 代码如下: widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget&g ...

  5. Qt工作笔记-发送端发送Json格式的数据包,接收端解析数据包

    原理以及运行 原理是因为QJsonDocument提供了一个函数toJson 可以直接把Json数据转成QByteArray,这样就可以直接发送数据包,然后再按照常规方法解析即可,本源码中含解析内容, ...

  6. 【编译原理笔记05】语法分析:FIRST集和FOLLOW集的计算,[非]递归的预测分析法,预测分析中的错误处理

    本次笔记内容: 4-4 FIRST集和FOLLOW集 4-5 递归的预测分析法 4-6 非递归的预测分析法 4-7 预测分析法中的错误处理 本节课幻灯片,见于我的 GitHub 仓库:第5讲 语法分析 ...

  7. Qt工作笔记-遍历文件夹里面的所有文件,并在QTreeWidget内显示

    首先是文件夹,如下图: 话不多说,运行动态图如下: 在此不做多余解释,代码很简单 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWid ...

  8. C/C++|Qt工作笔记-4种方法判断当前对象(类)名或标识(继承发,typeid法,元对象className()法,Q_CLASSINFO法)

    回想起3个月前,刚刚参加工作也做过类似的笔记,但只有2种方法,估计刚毕业没有什么墨水,经过3个月时间又多了2种方法: 这些方法都可用于RTTI 第一个方法是继承发(C++中很推荐用这个,感觉用这个结构 ...

  9. Qt工作笔记-Qt元对象系统解析【2合1】

    博文转载地址: https://blog.csdn.net/spwper/article/details/51332187 说Qt信号与槽是一个很好机制,不如说Qt的元对象系统很强大.这也是大家讲Qt ...

最新文章

  1. 反思不可佛系:刺激身体 刺激神经 目标反馈 定量奖惩 注重氛围
  2. Spark MLlib实现的广告点击预测–Gradient-Boosted Trees
  3. SpringBoot 2.0 pom.xml 配置(热启动)
  4. 解说redis中如何实现高可用
  5. windows date格式
  6. 收据找不到怎么退押金_押金收据单不见了,能退押金吗,合同上有写押金多少的 - 找法网免费法律咨询...
  7. 总觉得学习效率低,看了这篇瞬间清醒了!
  8. 计算机中rom的意思是什么,ROM 是什么意思
  9. MySQL · Semi-join原理及源码分析
  10. 从尺规作图到机器证明
  11. python 自动化微信小程序_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...
  12. Zeppelin导入额外jar包方法
  13. pythonsklearn做手写识别_Python scikit-learn 学习笔记—手写数字识别
  14. 芯片丨美光最新财报电话会议透露了三个重要观点
  15. 【Beta阶段】第二次Scrum Meeting
  16. python进程池win出错,python进程池multiprocessing.Pool运行错误:
  17. Scrapy框架+Gerapy分布式爬取海外网文章
  18. 春节静态HTML网页作业模板 传统节日文化网站设计作品 静态学生网页设计作业简单网页制作
  19. PDF文件如何转换为CAD电气图
  20. 为何“看得懂单词却读不懂句子”

热门文章

  1. 宏锦软件2015年的计划
  2. ykcchf 2013 v2.1101 最新版下载
  3. 金色丰收的FreeEIM季节
  4. 爸爸拉合弦飞鸽传书源代码
  5. 调整的飞秋官网幅度还非常的大
  6. ipmsg飞鸽传书系统即时通讯
  7. 经典:某程序员手机里保存的五十条牛B短信
  8. 针对SQL INJECTION的SQL SERVER安全设置初级篇
  9. Python有多火,来看一份24小时榜单,从入门到进阶
  10. mysql 传统数据恢复_MySQL误操作后如何快速恢复数据 传统解法 利用binlog2sql快速闪回 常见问题 参考资料...