【QT】QTreeWidget

新建项目

第一步:设置头标签

第二步:设置item

第三步:创建子item,挂载在顶层item下

完整代码

cpp 复制代码
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    // 第一步:设置头标签,匿名对象
    ui->treeWidget->setHeaderLabels(QStringList() << "英雄" << "英雄介绍");

    // 第二步:设置item
    QTreeWidgetItem* power = new QTreeWidgetItem(QStringList() << "力量");
    // 添加顶层级别的item
    ui->treeWidget->addTopLevelItem(power);

    QTreeWidgetItem* agile = new QTreeWidgetItem(QStringList() << "敏捷");
    // 添加顶层级别的item
    ui->treeWidget->addTopLevelItem(agile);

    QTreeWidgetItem* intelligence = new QTreeWidgetItem(QStringList() << "智力");
    // 添加顶层级别的item
    ui->treeWidget->addTopLevelItem(intelligence);


    // 第三步:创建子item,挂载在顶层item
    QStringList hero1;
    hero1 << "吕布" << "吕布挥斩方天画戟的技能命中敌方英雄后会给武器附魔,持续8秒。";
    QTreeWidgetItem* l1 = new QTreeWidgetItem(hero1);
    power->addChild(l1);


    QStringList hero2;
    hero2 << "上官婉儿" << "每第三次普攻获得强化,对一条路径上的敌人额外造成300(+40%法术攻击)法术伤害。";
    QTreeWidgetItem* l2 = new QTreeWidgetItem(hero2);
    agile->addChild(l2);

    QStringList hero3;
    hero3 << "诸葛亮" << "技能命中敌方目标会叠加印记,达到5层会召唤5颗法球,自动攻击周围目标造成135(+25%法术攻击)法术伤害。";
    QTreeWidgetItem* l3 = new QTreeWidgetItem(hero3);
    intelligence->addChild(l3);

}

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

效果

相关推荐
小徐不徐说6 分钟前
RTSP协议详解与C++实现实例
开发语言·c++·qt·通信·rtsp
流星白龙28 分钟前
【C++算法】75.优先级队列_数据流中的第 K 大元素
开发语言·c++·算法
Monkey的自我迭代28 分钟前
python线性回归:从原理到实战应用
开发语言·python·机器学习
菜鸟看点33 分钟前
QFutureWatcher 收不到 finished 信号-QFutureWatcher 与对象生命周期
qt
德育处主任Pro38 分钟前
p5.js 三角形triangle的用法
开发语言·javascript·ecmascript
你我约定有三40 分钟前
分布式微服务--RPC:原理、使用方式、与 HTTP/REST 的区别与选择
java·开发语言·分布式·后端·微服务·rpc
孞㐑¥1 小时前
Linux之网络部分-应用层协议 HTTP
linux·开发语言·c++·经验分享·笔记
楼田莉子1 小时前
C++学习之继承
开发语言·c++·学习·visual studio
下页、再停留2 小时前
【PHP】通过IP获取IP所在地理位置(免费API接口)
开发语言·tcp/ip·php
ifanatic2 小时前
[每周一更]-(第148期):使用 Go 进行网页抓取:Colly 与 Goquery 的对比与思路
开发语言·后端·golang