本文主要是介绍QTreeView 使用自定义Model,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
QT对于列表和表格结构都有相应的model实现, 唯独对QTreeView没有提供任何默认实现,只能子类化QAbstractItemModel. 由于树形结构比较复杂,层次结构不固定,用MVC框架实现的确比较费劲. 还好QT提供的这个例子能够处理很多通用问题. 可直接拿过来用, 由于示例代码看起来比较费劲,特笔记记录:
QT示例参见$(QTDIR)\examples\itemviews\simpletreemodel:
一. 树形结构体定义 treeitem.h
/*** @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();private:TreeItem *parentItem; // 父结点QList&
这篇关于QTreeView 使用自定义Model的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!