类QStandardItemModel有几个步骤不是很明白,求帮助

类QStandardItemModel有几个方法不是很明白,求帮助!
下面的代码:
方法二:自行设置树型结构。

"Treeview.h"文件

#include <QtGui> 
class TreeView :public QTreeView  
{  
public:  
TreeView();  
void iterateOverItems();  
QList<QStandardItem*> returnTheItems();  
void mouseDoubleClickEvent(QMouseEvent *event);  
private:  
QStandardItemModel *model;  
}; 
"Treeview.cpp"文件

#include "treeview.h"  
TreeView::TreeView() : QTreeView()  
{        
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));  
model = new QStandardItemModel(4,2);  
model->setHeaderData(0, Qt::Horizontal, tr("Service"));  
model->setHeaderData(1, Qt::Horizontal, tr("Details"));  
QStandardItem *item1 = new QStandardItem("avahi-daemon");  
item1->setIcon(QIcon("gparted.png"));  
QStandardItem *item2 = new QStandardItem("bluetooth");  
item2->setIcon(QIcon("gparted.png"));  
QStandardItem *item3 = new QStandardItem("crond");  
    item3->setIcon(QIcon("gparted.png"));   
QStandardItem *item4 = new QStandardItem("cups");  
item4->setIcon(QIcon("gparted.png"));   
model->setItem(0, 0, item1);  
model->setItem(1, 0, item2);  
model->setItem(2, 0, item3);  
model->setItem(3, 0, item4);  
QStandardItem *item5 = new QStandardItem("fifth");  
item4->appendRow(item5);  
QModelIndex parent;  
for (int i = 0; i < 4; ++i) {  
   parent = model->index(0, 0, parent);  
   model->insertRows(0, 1, parent);  
   model->insertColumns(0, 1, parent);  
   QModelIndex index = model->index(0, 0, parent);  
   model->setData(index, i);  
}  
this->setModel(model);  
}  
QList<QStandardItem*> TreeView::returnTheItems()  
{  
return model->findItems("*", Qt::MatchWildcard | Qt::MatchRecursive);  
}  
void TreeView::iterateOverItems()  
{  
QList<QStandardItem*> list = returnTheItems();  
 
foreach (QStandardItem* item, list) {  
   qDebug() << item->text();  
}  
}  
void TreeView::mouseDoubleClickEvent(QMouseEvent *event)  
{  
if (event->button() == Qt::LeftButton) {  
   QModelIndex index0 = currentIndex();  
   qDebug() << index0.data().toString();  
}  

"Main.cpp"文件

#include <QtGui/QApplication> 
#include "treeview.h"  
 
int main(int argc, char *argv[])  
{  
QApplication app(argc, argv);  
TreeView view;  
view.setEditTriggers(QAbstractItemView::NoEditTriggers);   
view.header()->setResizeMode(QHeaderView::ResizeToContents);  
view.resize(300,280);  
    view.iterateOverItems();  
view.setWindowTitle(QObject::tr("Linux 服务管理"));  
view.show();  
return app.exec();  

显示:
类QStandardItemModel有几个步骤不是很明白,求帮助
其中这段代码没看懂:
parent = model->index(0, 0, parent);  
   model->insertRows(0, 1, parent);  
   model->insertColumns(0, 1, parent);  
   QModelIndex index = model->index(0, 0, parent);  
   model->setData(index, i);  
所使用的那几个函数index(0, 0, parent)、insertRows(0, 1, parent)、insertColumns(0, 1, parent)分别是什么意思呢?
谢谢!
------解决方案--------------------
Qt自带的assistant上面有详细的解释呀,