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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java获取当前日期是周几_根据日期获取当前周

    java获取当前日期是周几_根据日期获取当前周1、使用Calendar类 /**    *获取当前日期是星期几    *     *@paramdt    *@return当前日期是星期几    */   publicstaticStringgetWeekOfDate(Datedt){       String[]weekDays={“星期日”,”星期一”,”星期

    2025年9月17日
    4
  • LinkedList基本用法「建议收藏」

    LinkedList基本用法「建议收藏」LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用.LinkedList的构造函数如下1.publicLinkedList(): ——生成空的链表2.publicLinkedList(Collectioncol): 复制构造函数1、获取链表的第一个和最后一个元素[java] viewplaincopy

    2022年6月17日
    20
  • 京东活动+自动运行脚本+签到2021.05.26更新

    京东活动+自动运行脚本+签到2021.05.26更新先下载Node.js运行环境https://nodejs.org/en下载14.15.4版本。WIN7下载12.20的版本https://nodejs.org/dist/latest-v12.x/node-v12.20.1-x64.msi。只需要一路安装就可以。检测是否安装成功:点击开始-运行-cmd(win+R),打开dos,输入“node–version”检查Node.js版本:只要有显示就说明没问题了。每天大概300-400个京豆,有时候现金红包会有6元左右。下载脚本包:https://..

    2022年7月23日
    11
  • Pycharm 提示:this license * has been cancelled – Python零基础入门教程

    Pycharm 提示:this license * has been cancelled – Python零基础入门教程目录一.前言一.找到hosts文件二.修改hosts文件三.检查hosts文件是否修改成功四.pycharm安装激活详细教程五.猜你喜欢一.前言零基础Python学习路线推荐:Python学习目录>>Python基础入门Pycharm安装激活过程中,提示thislicense****hasbeencancelled。这个问题并不是你的激活码不对,而是需要修改系统的hosts文件,下面详细讲解下如何修改hosts文件

    2022年8月26日
    6
  • 旅游胜地HTML,中国旅游胜地(一生必去的30个旅游景点)

    旅游胜地HTML,中国旅游胜地(一生必去的30个旅游景点)中国著名旅游景点十大必去之地小贴士:11来了,大家都在计划这个长假去哪里。当你真的去了很多景点,发现都是“平平淡淡”,名不副实。但是你知道吗,萧艾推荐的以下10个中国著名旅游景点不仅有名,而且“名不虚传”,他们从来不后悔去那里。他们是哪十个?别担心,让萧艾一个一个给你介绍。1、丽江古城上市理由:看小酒店露台上的雪山;漫步四方街,享受夏日午后慵懒的阳光;隔着窗户听纳西人的古乐,时间一不小心就过去了,…

    2022年6月9日
    41
  • C++ stl_stl函数

    C++ stl_stl函数学校并未教授C++,当初接触的C++的STL,也是皮毛而已。结合对Java的集合框架等内容的认识,回顾这部分内容,收获很大。文章目录概述STL六大组件简介三大组件介绍1.容器2.算法3.迭代器常用容器1.string容器string容器基本概念string容器常用操作2.vector容器vector容器基本概念vector迭代器vector的数据结构vector常用API操作…

    2022年8月30日
    2

发表回复

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

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