Qt工作笔记-QTreeWidget求总结点数以及此树中最多孩子的个数(非递归)
话不多说,运行截图如下:
代码如下:
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求总结点数以及此树中最多孩子的个数(非递归)相关推荐
- Qt工作笔记-QTreeWidget中调用setHeaderItem设置头后,不能addChild
今天在文档里面看了QTreeWidget,里面有添加header, 其中有一个函数是setHeaderItem,这里的参数是QTreeWidgetItem. 运行如下图: 代码如下: widget.h ...
- Qt工作笔记-QTreeWidget中itemAt中的坑
程序运行截图如下: 用:QTreeWidgetItem *currItem=ui->treeWidget->itemAt(0,0); (0,0)点坐标,当滚动条没有拉动的时候: 点击这个页 ...
- Qt工作笔记-QTreeWidget顺序查找包含内容的字符串
运行截图如下: 代码如下: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget>namespace Ui { class ...
- Qt工作笔记-主界面传输数据到附属界面(通过信号与槽非构造函数)
通过信号与槽非构造函数, 运行截图如下: 文件结构如下: 代码如下: widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget&g ...
- Qt工作笔记-发送端发送Json格式的数据包,接收端解析数据包
原理以及运行 原理是因为QJsonDocument提供了一个函数toJson 可以直接把Json数据转成QByteArray,这样就可以直接发送数据包,然后再按照常规方法解析即可,本源码中含解析内容, ...
- 【编译原理笔记05】语法分析:FIRST集和FOLLOW集的计算,[非]递归的预测分析法,预测分析中的错误处理
本次笔记内容: 4-4 FIRST集和FOLLOW集 4-5 递归的预测分析法 4-6 非递归的预测分析法 4-7 预测分析法中的错误处理 本节课幻灯片,见于我的 GitHub 仓库:第5讲 语法分析 ...
- Qt工作笔记-遍历文件夹里面的所有文件,并在QTreeWidget内显示
首先是文件夹,如下图: 话不多说,运行动态图如下: 在此不做多余解释,代码很简单 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWid ...
- C/C++|Qt工作笔记-4种方法判断当前对象(类)名或标识(继承发,typeid法,元对象className()法,Q_CLASSINFO法)
回想起3个月前,刚刚参加工作也做过类似的笔记,但只有2种方法,估计刚毕业没有什么墨水,经过3个月时间又多了2种方法: 这些方法都可用于RTTI 第一个方法是继承发(C++中很推荐用这个,感觉用这个结构 ...
- Qt工作笔记-Qt元对象系统解析【2合1】
博文转载地址: https://blog.csdn.net/spwper/article/details/51332187 说Qt信号与槽是一个很好机制,不如说Qt的元对象系统很强大.这也是大家讲Qt ...
最新文章
- 反思不可佛系:刺激身体 刺激神经 目标反馈 定量奖惩 注重氛围
- Spark MLlib实现的广告点击预测–Gradient-Boosted Trees
- SpringBoot 2.0 pom.xml 配置(热启动)
- 解说redis中如何实现高可用
- windows date格式
- 收据找不到怎么退押金_押金收据单不见了,能退押金吗,合同上有写押金多少的 - 找法网免费法律咨询...
- 总觉得学习效率低,看了这篇瞬间清醒了!
- 计算机中rom的意思是什么,ROM 是什么意思
- MySQL · Semi-join原理及源码分析
- 从尺规作图到机器证明
- python 自动化微信小程序_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...
- Zeppelin导入额外jar包方法
- pythonsklearn做手写识别_Python scikit-learn 学习笔记—手写数字识别
- 芯片丨美光最新财报电话会议透露了三个重要观点
- 【Beta阶段】第二次Scrum Meeting
- python进程池win出错,python进程池multiprocessing.Pool运行错误:
- Scrapy框架+Gerapy分布式爬取海外网文章
- 春节静态HTML网页作业模板 传统节日文化网站设计作品 静态学生网页设计作业简单网页制作
- PDF文件如何转换为CAD电气图
- 为何“看得懂单词却读不懂句子”
热门文章
- 宏锦软件2015年的计划
- ykcchf 2013 v2.1101 最新版下载
- 金色丰收的FreeEIM季节
- 爸爸拉合弦飞鸽传书源代码
- 调整的飞秋官网幅度还非常的大
- ipmsg飞鸽传书系统即时通讯
- 经典:某程序员手机里保存的五十条牛B短信
- 针对SQL INJECTION的SQL SERVER安全设置初级篇
- Python有多火,来看一份24小时榜单,从入门到进阶
- mysql 传统数据恢复_MySQL误操作后如何快速恢复数据
传统解法
利用binlog2sql快速闪回
常见问题
参考资料...