forked from GLDsuh-a/qt-1
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TreeItem.h
43 lines (36 loc) · 785 Bytes
/
TreeItem.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef TREEITEM_H
#define TREEITEM_H
#include <QList>
#include <QVariant>
#include <QIcon>
/**
* @brief 通用树形结构类
*/
class TreeItem
{
public:
TreeItem(const QList<QVariant> &data, TreeItem *parent = 0);
~TreeItem();
void appendChild(TreeItem* child);
TreeItem* child(int row);
int childCount() const;
int columnCount() const;
QVariant data(int column) const;
int row() const;
TreeItem *parent();
/**
* 根据当前节点状态,返回相应的图标
*/
QIcon icon() const;
void setIcon(bool status);
private:
// 父结点
TreeItem *parentItem;
// 子结点列表
QList<TreeItem*> childItems;
// 子节点对应数据
QList<QVariant> itemData;
// 用来标识当前图标是开/合状态
bool isOpen;
};
#endif // TREEITEM_H