【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;
}

效果

相关推荐
14年ABAP码农10 分钟前
ABAP - call API with x-www-form-urlencoded
开发语言
SuniaWang16 分钟前
Java 17实战:Record与密封类的黄金搭档
java·开发语言·python
2401_8274999918 分钟前
python项目实战10-网络机器人03
开发语言·python·php
AIminminHu30 分钟前
OpenGL渲染与几何内核那点事-项目实践理论补充(三-1-(3):番外篇-当你的CAD打开“怪兽级”STL时:从内存爆炸到零拷贝的极致优化)
开发语言·c++·线程·多线程
c++逐梦人38 分钟前
线程同步与互斥
linux·开发语言
坐吃山猪1 小时前
Python09_正则表达式
开发语言·python·正则表达式
AI科技星1 小时前
v=c 物理理论核心参数转换表达式大全
开发语言·线性代数·算法·数学建模·平面
oldmao_20001 小时前
第八章 设计并发代码
开发语言·c++·多线程编程·并发编程
SomeB1oody1 小时前
【Python深度学习】2.1. 卷积神经网络(CNN)模型理论(基础):卷积运算、池化、ReLU函数
开发语言·人工智能·python·深度学习·机器学习·cnn
Java面试题总结1 小时前
2026年Java面试题最新整理,附白话答案
java·开发语言·jvm·笔记·spring·intellij-idea