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

效果

相关推荐
froginwe11几秒前
CSS3 多媒体查询实例
开发语言
naruto_lnq5 分钟前
C++中的工厂方法模式
开发语言·c++·算法
独自破碎E5 分钟前
LCR_019_验证回文串II
java·开发语言
一切尽在,你来6 分钟前
C++多线程教程-1.2.3 C++并发编程的平台无关性
开发语言·c++
坚持就完事了9 分钟前
Java中的一些关键字
java·开发语言
雨季66619 分钟前
Flutter 三端应用实战:OpenHarmony “专注时光盒”——在碎片洪流中守护心流的数字容器
开发语言·前端·安全·flutter·交互
新缸中之脑26 分钟前
Moltbook 帖子精选
开发语言·php
xyq202437 分钟前
jQuery Mobile 表单选择
开发语言
青岑CTF42 分钟前
攻防世界-Web_php_include-胎教版wp
开发语言·安全·web安全·网络安全·php
雾岛听蓝1 小时前
C++11 列表初始化与右值引用核心解析
开发语言·c++·经验分享