1、注册自定义结构体,如下:
#pragma once
struct Tt
{
QString name;
int id;
double t1;
double t2;
double t3;
double r1;
double r2;
double r3;
QString m1;
QString m2;
QString m3;
QString m4;
QString m5;
QString m6;
QString m7;
QString m8;
};
Q_DECLARE_METATYPE(Tt) //注册结构体
2、在节点中存储结构体数据,代码如下:
void Demo_2::SlotGetTt(Tt m_tt)
{
QTreeWidgetItem * li11 = new QTreeWidgetItem(QStringList() << m_tt.name);
li8->addChild(li11);
//写入数据
li11->setData(0, Qt::UserRole + 1, QVariant::fromValue(m_tt));
//读取数据
//Tt data = li11->data(0, Qt::UserRole + 1).value<Tt>();
//qDebug() << data.name << data.id;
}
本文介绍如何在Qt中注册自定义结构体并实现其在QTreeWidgetItem中的存储与读取。通过示例代码展示了Tt结构体的定义、注册过程以及如何将该结构体的数据存储到树形视图的节点中。
475

被折叠的 条评论
为什么被折叠?



