Ai
15 Star 136 Fork 128

百里杨/C++ demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
TreeItem.h 1.20 KB
一键复制 编辑 原始数据 按行查看 历史
百里杨 提交于 2020-05-02 17:04 +08:00 . 新增QTreeView+自定义model实现代码
#ifndef TREEITEM_H
#define TREEITEM_H
#include <QVariant>
class TreeItem
{
public:
enum Type
{
UNKNOWN = -1,
PROVINCE,
PERSON
};
explicit TreeItem(TreeItem *parent = nullptr);
~TreeItem();
void addChild(TreeItem *item);
void removeChildren();
TreeItem *child(int row) { return _children.value(row); }
TreeItem *parent() { return _parent; }
int childCount() const { return _children.count(); }
QVariant data(int column) const;
//设置、获取节点存的数据指针
void setPtr(void* p) { _ptr = p; }
void* ptr() const { return _ptr; }
// 保存该节点是其父节点的第几个子节点,查询优化所用
void setRow(int row) { _row = row; }
// 返回本节点位于父节点下第几个子节点
int row() const { return _row; }
Type getType() const { return _type; }
void setType(const Type &value) { _type = value; }
private:
QList<TreeItem*> _children; // 子节点
TreeItem *_parent; // 父节点
Type _type; // 此节点保存的数据类型
void* _ptr; // 存储数据的指针
int _row; // 此item位于父节点中第几个
};
#endif // TREEITEM_H
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/bailiyang/cdemo.git
git@gitee.com:bailiyang/cdemo.git
bailiyang
cdemo
C++ demo
master

搜索帮助