QT学习笔记--QTreeWidget树控件

这段代码展示了如何在Qt界面中设置TreeWidget的水平头标签,创建根节点和子节点。通过`setHeaderLabels`方法设置列标题,然后使用`addTopLevelItem`添加根节点,再通过`addChild`方法将子节点添加到指定的根节点下。
摘要由CSDN通过智能技术生成

设置水平头

        ui->treeWidget->setHeaderLabels( QStringList()<<"英雄"<<"英雄介绍" );

创建根节点

        QTreeWidgetitem *item = new QTreeWidgetitem( QStringList()<<"力量" );

添加根节点到树控件上

        ui->treeWidget->addTopLevelItem(item);

添加子节点

        item->addChild(l);

注:子节点的创建方式和根节点相同

代码:

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //treeWidget树控件使用
    //设置水平头
    ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄简介");
    QTreeWidgetItem * item1 = new QTreeWidgetItem(QStringList()<<"力量");
    QTreeWidgetItem * item2 = new QTreeWidgetItem(QStringList()<<"敏捷");
    QTreeWidgetItem * item3 = new QTreeWidgetItem(QStringList()<<"智力");
    //加载顶层的结点
    ui->treeWidget->addTopLevelItem(item1);
    ui->treeWidget->addTopLevelItem(item2);
    ui->treeWidget->addTopLevelItem(item3);
    //追加子节点,同顶层结点
    QTreeWidgetItem * li = new QTreeWidgetItem(QStringList()<<"hero1"<<"坦克");
    item1->addChild(li);//添加到第一个顶层结点中
}

Widget::~Widget()
{
    delete ui;
}

结果:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt是一个跨平台的C++应用程序开发框架,提供了丰富的控件和功能,可以用于开发各种类型的应用程序。 在实现表格控件时,如果需要支持多级表头,可以借助Qt的QHeaderView类来实现。QHeaderView类是Qt中用于表格或型视图的表头控件,它可以显示列或行的标题,并且支持拖动和调整列宽度。 首先,创建一个QTreeView控件作为表格控件的显示部分。然后,创建一个QHeaderView对象作为表格控件的表头,使用setModel()函数将表头设置给表格控件。接下来,设置表头的显示模式为水平模式,使用setSectionResizeMode()函数设置每一列的调整方式,例如,可以设置为可以自动调整大小或者禁止调整大小。 为了支持多级表头,可以使用QHeaderView的addSection()函数来添加多级表头。逐级添加表头时,需要设置每一级表头的标签、起始列、列数和对齐方式。可以使用setHeaderData()函数为每一级的表头设置样式。 接着,使用setHeaderHidden()函数将QTreeView的默认表头隐藏起来,这样就只展示了我们自定义的多级表头。同时,可以使用setRootIsDecorated()函数将节点的展开和收缩图标隐藏起来,以使得表格控件更加美观。 最后,将数据模型设置给QTreeView控件,通过添加节点和设置节点的父子关系,来组织表格的数据结构。数据模型可以继承自QAbstractItemModel类,实现相关的接口函数,以提供数据的展示和操作。 通过以上步骤,我们就可以实现一个支持多级表头的表格控件。用户可以通过拖动和调整表头以调整列宽度,同时展示复杂的表头结构,方便显示和操作大量数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值