QTreeView使用总结1,一个简单示例

QTreeView使用总结1,一个简单示例1,简介本文为一个最简单的QTreeView初始化过程的示例。除去了一切操作响应等细节,只是展示使QTreeView显示出带层次结构的数据,至少需要哪些代码。只附带了一点点常用设置项。2,效果3,代码一个QTreeView插入三层数据的最简单代码示例:voidMainWindow::InitTree(){//1,构造Model,这里示例具有3层关系的model构造过程QSt…

大家好,又见面了,我是你们的朋友全栈君。

1,简介

本文为一个最简单的QTreeView初始化过程的示例。

除去了一切操作响应等细节,只是展示使QTreeView显示出带层次结构的数据,至少需要哪些代码。

只附带了一点点常用设置项。

2,效果

QTreeView使用总结1,一个简单示例

3,代码

一个QTreeView插入三层数据的最简单代码示例:

void MainWindow::InitTree()
{
    //1,构造Model,这里示例具有3层关系的model构造过程
    QStandardItemModel* model = new QStandardItemModel(ui->treeView);
    model->setHorizontalHeaderLabels(QStringList()<<QStringLiteral("序号") << QStringLiteral("名称"));     //设置列头
    for(int i=0;i<5;i++)
    {
        //一级节点,加入mModel
        QList<QStandardItem*> items1;
        QStandardItem* item1 = new QStandardItem(QString::number(i));
        QStandardItem* item2 = new QStandardItem(QStringLiteral("一级节点"));
        items1.append(item1);
        items1.append(item2);
        model->appendRow(items1);

        for(int j=0;j<5;j++)
        {
            //二级节点,加入第1个一级节点
            QList<QStandardItem*> items2;
            QStandardItem* item3 = new QStandardItem(QString::number(j));
            QStandardItem* item4 = new QStandardItem(QStringLiteral("二级节点"));
            items2.append(item3);
            items2.append(item4);
            item1->appendRow(items2);

            for(int k=0;k<5;k++)
            {
                //三级节点,加入第1个二级节点
                QList<QStandardItem*> items3;
                QStandardItem* item5 = new QStandardItem(QString::number(k));
                QStandardItem* item6 = new QStandardItem(QStringLiteral("三级节点"));
                items3.append(item5);
                items3.append(item6);
                item3->appendRow(items3);
            }
        }
    }
    //2,给QTreeView应用model
    ui->treeView->setModel(model);
}

4,说明

可以看到,要使一个QTreeView能够显示数据,需要构造一个model并设置给QTreeView。

Qt提供了一些类型的Model,其中最常用的就是这个QStandardItemModel类,一般可以满足大部分需求。

另外,表头的内容也由这个model管理,setHorizontalHeaderLabels 函数可以设置共有多少列、每列文字。

一级节点直接使用 appendRow 方法添加到model上,次级节点则是添加到第一个父级节点上,依次构成父子关系树。

5,源码下载

链接:https://pan.baidu.com/s/12S5_vAw_YM7qdT_p3r5WFA 
提取码:oeas

网盘若失效,可在群文件下载:

群号码:1149411109 (若满加2群:917341904)

群名称:Qt实战派学习群

QTreeView使用总结1,一个简单示例

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130964.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql odbc下载(mysql8下载)

    1.下载JDBC驱动的MySQL官网:https://www.mysql.com/2.按步骤下载

    2022年4月10日
    28
  • 深度相机种类_深度相机原理

    深度相机种类_深度相机原理本文首发于微信公众号:计算机视觉life。本文的深度相机制造商涉及:Microsoft、Intel、LeapMotion、Orbbec、图漾、OccipitalStructure、Stereolabs、DUO。文末附深度相机详细对比清单。MicrosoftKinect微软推出了两款Kinect,Kinect一代(Kinectv1)是基于结构光原理的深度相机,Kinect二代(Kine

    2025年6月23日
    1
  • 分形之谢尔宾斯基(Sierpinski)地毯

    分形之谢尔宾斯基(Sierpinski)地毯前面讲了谢尔宾斯基三角形,和这一节的将把三角形变为正方形,即谢尔宾斯基地毯,它是由瓦茨瓦夫·谢尔宾斯基于1916年提出的一种分形,是自相似集的一种。谢尔宾斯基地毯的构造与谢尔宾斯基三角形相似

    2022年7月4日
    48
  • 动态sql模糊查询和分页「建议收藏」

    动态sql模糊查询和分页「建议收藏」文章目录动态sql模糊查询查询返回结果集的处理分页动态sqlBookMapperxmlbookservice测试:MapperSql.test运行:模糊查询BookMapperBookMapper.xmlBookserviceStringUtiles测试:一共介绍了三种模糊查询的方法,对比第三种更加实用。运行:查询返回结果集的处理BookM…

    2022年5月9日
    34
  • NVIC和EXTI

    NVIC和EXTINVIC:NestVectorInterruptController,嵌套中断向量控制器,是用来管理中断嵌套的,核心任务在于其优先级的管理。NVIC给每个中断赋予先占优先级(抢占优先级)和次占优先级(响应优先级)。CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但STM32并没有使用CM3内核的全部东西,而是只用了它的一部分,STM

    2022年5月28日
    65
  • 股票历史数据下载接口汇总(动态更新)

    歪枣网上提供股票历史数据下载接口汇总,实时动态更新接口名称 Api接口 接口描述 A股列表 getStockHSABaseInfo 沪深A股基本信息 每日行情 getStockHSADailyMarket 沪深A股每日行情数据 实时数据 getStockHSAMinuteKLine 沪深A股实时数据,提供30个交易日内的每日实时交易数据,数据以分钟为粒度。 时线数据 getStockHSAHourKLine 沪深A股分时数据,提供30个交易日内的5分钟、15分钟、30分钟、60分钟数据。 日线数

    2022年4月7日
    302

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号