Ai
15 Star 136 Fork 128

百里杨/C++ demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
TreeItem.cpp 1.21 KB
一键复制 编辑 原始数据 按行查看 历史
百里杨 提交于 2020-05-02 17:04 +08:00 . 新增QTreeView+自定义model实现代码
#include "TreeItem.h"
#include "typedef.h"
TreeItem::TreeItem(TreeItem *parent)
: _parent(parent),
_type(UNKNOWN),
_ptr(nullptr),
_row(-1)
{
}
TreeItem::~TreeItem()
{
removeChildren();
}
// 在本节点下添加子节点
void TreeItem::addChild(TreeItem *item)
{
item->setRow(_children.size());
_children.append(item);
}
// 清空所有子节点
void TreeItem::removeChildren()
{
qDeleteAll(_children);
_children.clear();
}
// 获取本节点第column列的数据
QVariant TreeItem::data(int column) const
{
if(_type == PROVINCE) // 此节点是"省份"信息
{
if (column == COLUMN_NAME) // 省份,只有"name"字段,且显示在第一列
{
Province* p = (Province*)_ptr;
return p->name;
}
}
else if(_type == PERSON) // 此节点是"人口"信息
{
Person* p = (Person*)_ptr;
switch (column)
{
case COLUMN_NAME: return p->name;
case COLUMN_SEX: return p->sex;
case COLUMN_AGE: return QString::number(p->age);
case COLUMN_PHONE: return p->phone;
default: return QVariant();
}
}
return QVariant();
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/bailiyang/cdemo.git
git@gitee.com:bailiyang/cdemo.git
bailiyang
cdemo
C++ demo
master

搜索帮助