Qt QtreeWidget树形结构图表

2023-12-17 20:58

本文主要是介绍Qt QtreeWidget树形结构图表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本例子采用treewidget类:他继承自treeview相对于treeview能简单方便一点。

本例思路:

三个root节点,每个root节点在添加child节点对应在child节点里添加item(项)。

具体看:

QTreeWidgetItem *additem();
void addroot(QTreeWidget *rootwidget,QStringList  list)

#include <QApplication>

#include<QDebug>
#include <QtCore/qglobal.h>
#include<QWidget>
#include<QStandardItemModel>
#include<QTableView>
#include<QHeaderView>
#include<QTreeWidget>
#include<QTreeWidgetItem>
/***************************
 * 添加child节点
 * ****************************/
QTreeWidgetItem *additem()
{
        QTreeWidgetItem *item1=new QTreeWidgetItem;
        item1->setText(0,"yang");
        item1->setText(1,"sen");
        item1->setText(2,"hounan");
        return item1;
}
/*************************
 *
 * 添加root节点
 * ********************************/
void addroot(QTreeWidget *rootwidget,QStringList  list){
    QTreeWidgetItem *widgetitem=new QTreeWidgetItem(rootwidget);
    widgetitem->setText(0,list.at(0));
    widgetitem->setText(1,list.at(1));
    widgetitem->setText(2,list.at(2));
    rootwidget->addTopLevelItem(widgetitem);
    widgetitem->addChild(additem());
    widgetitem->addChild(additem());
    widgetitem->addChild(additem());
}
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
//    QStandardItemModel *model=new QStandardItemModel;
//    QStringList list;
//    list<<"姓名"<<"性别"<<"年龄"<<"手机"<<"地址";
//    model->setHorizontalHeaderLabels(list);
//    model->setRowCount(4);
//    model->setColumnCount(5);
//    model->setItem(0,0,new QStandardItem("yangsen"));
//    //model->removeRows(0,model->rowCount());
//    model->removeRow(0);
//    QTableView *view=new QTableView;
//    view->setModel(model);
//    view->setColumnWidth(2,200);
//    view->verticalHeader()->hide();
//    view->horizontalHeader()->setDefaultAlignment(Qt::AlignCenter);
//    view->show();
    QTreeWidget *treewidget=new QTreeWidget;
    //treewidget->setFixedWidth(300);
    //treewidget->horizontalScrollMode()->setFixedWidth(300);
    treewidget->setColumnWidth(0,90);
    treewidget->setColumnCount(3);
    QStringList list;
    list<<"姓名"<<"年龄"<<"性别";
    treewidget->setHeaderLabels(list);
    QStringList list1;
    list1<<"one"<<"hou"<<"nan";
    QStringList list2;
    list2<<"two"<<"hou"<<"nan";
    QStringList list3;
    list3<<"three"<<"hou"<<"nan";
    addroot(treewidget,list1);
    addroot(treewidget,list2);
    addroot(treewidget,list3);
    treewidget->show();
    return a.exec();
}
 


这篇关于Qt QtreeWidget树形结构图表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/505820

相关文章

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

Java实战之利用POI生成Excel图表

《Java实战之利用POI生成Excel图表》ApachePOI是Java生态中处理Office文档的核心工具,这篇文章主要为大家详细介绍了如何在Excel中创建折线图,柱状图,饼图等常见图表,需要的... 目录一、环境配置与依赖管理二、数据源准备与工作表构建三、图表生成核心步骤1. 折线图(Line Ch

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的