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


相关推荐

  • 用python实现线性回归算法

    用python实现线性回归算法importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.model_selectionimporttrain_test_splitnp.random.seed(123)x=2np.random.rand(500,1)y=5+3x+np.random.rand(500,1)*3fig=plt.figure(figsi…

    2022年8月21日
    5
  • 学生学籍管理系统_学生学籍管理系统的开发

    学生学籍管理系统_学生学籍管理系统的开发二需求分析2.1系统功能要求设计此系统实现如下系统功能:我们小组所设计的学生学籍管理数据库系统主要分为两大模块层面,一是:学生登录层面,二是:教师登录层面。不同层面根据不同用户的需求所实现的功能不同,这样能够更人性化地贴合个体的使用,最大程度地提升系统的使用及运行效率。所以系统设有两种不同的登录选择,用户根据实际情况自行登录,修改、查询、管理信息。学生层面:(1)

    2022年10月16日
    3
  • openCV人脸识别简单案例[通俗易懂]

    openCV人脸识别简单案例[通俗易懂]1基础我们使用机器学习的方法完成人脸检测,首先需要大量的正样本图像(面部图像)和负样本图像(不含面部的图像)来训练分类器。我们需要从其中提取特征。下图中的Haar特征会被使用,就像我们的卷积核,每一个特征是一个值,这个值等于黑色矩形中的像素值之后减去白色矩形中的像素值之和。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能由矩形特征简单的描述,眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。Haar特征可用于于图像任意位置,大小也可以任意改变,所以矩形特征值是

    2022年5月28日
    51
  • css增加横着滚动条_CSS 设置滚动条样式的实现「建议收藏」

    webkit滚动条样式重置1、scrollbar包含scrollbarbuttons和一个track。track进一步细分为trackpieces和thumb。tracepieces为thumb的上半部分和半下部分。2、scrollbarcorner为横向和竖向的交叉角区域3、resize用来设置滚动条的交汇处上用于拖动调整元素大小的小控件组成结构图如下:一旦发现滚动条的自定义样式,浏览器…

    2022年4月8日
    703
  • AndroidJNI 通过C++调用JAVA

    1. JNIEnv对象    对于本地函数   JNIEXPORT void JNICALL Java_video1_TestNative_sayHello(JNIEnv * env, jobject obj)   {        cout   }           JNIEnv类型代表Java环境。通过这个JNIEnv*指针,就可以对Java端的代码进行操作。如,创建Java类得对象,调用J

    2022年3月11日
    44
  • Mac 下读写NTFS文件

    Mac 下读写NTFS文件MacOS版本:10.11.16 (OSXEICapitan)文章末尾附上小白使用使用方式 1、首先插入需要写入文件的NTFS格式的U盘或移动硬盘2、打开终端,然后执行以下命令,会提示输入密码,输入当前登录账号的密码即可,如果不行请输入root账号的密码sudonano/etc/fstab3、显示如下信息GNUnano2.0.6…

    2022年6月29日
    35

发表回复

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

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