• 6376阅读
  • 2回复

遍历生成目录树 [复制链接]

上一主题 下一主题
离线wangguang246
 

只看楼主 倒序阅读 楼主  发表于: 2010-03-29
我数据库的有个路径选项:基本格式如下:
资料:/
资料:/DATA
资料:/Pictures
资料:/SoftWare
资料:/DATA/C++
资料:/DATA/Code

....................

资料:/DATA/VC++资料/美河提供.MFC应用程序在.NET框架下的扩展.pdf

现在我想用QListWidget控件,遍历数据库路径生成目录树,我写了一部分代码,但是不知道该如何加入子节点,
希望大家能帮忙看一下。
  1.   QFileIconProvider iconProvider;
  2.     QSqlQuery query;
  3.     QString sql=QString("select  AllPath,Ftype,Fno from tblFile  where Parent_Fno=%1").arg(fno.toInt());
  4.     query.exec(sql);
  5.     while(query.next())
  6.     {
  7.         int type=query.value(1).toInt();
  8.         QString path=query.value(0).toString();
  9.         QStringList list=path.split("/",QString::SkipEmptyParts);
  10.         QString name=list.at(list.size()-1).toLocal8Bit().constData();
  11.         if(1==type){//如果类型是文件夹
  12.         A->setIcon(0, iconProvider.icon(QFileIconProvider::Folder));
  13.       //   initTree(query.value(2).toString());
  14.     }else{
  15.         A->setIcon(0, iconProvider.icon(QFileIconProvider::File));
  16.     }
  17.   //  if(list.size()<=2){
  18.   //  A = new QTreeWidgetItem(QStringList()<<name);
  19.   //  ui->treeWidget->addTopLevelItem(index);
  20. //  }else {
  21. //   child= new QTreeWidgetItem(QStringList()<<name);
  22. //    index=(QStringList()<<list.at(list.size()-2).toLocal8Bit().constData());
  23. //    A=index;
  24.     //qDebug()<<list.at(list.size()-2).toLocal8Bit().constData();
  25.   //  index->addChild(child);
  26. }
  27.     }    
  28.     ui->treeWidget->expandAll();



希望大家能帮忙完善一下。
离线snowdream
只看该作者 1楼 发表于: 2010-03-30
关注一下~
QQ:273247606
希望与大家一起交流QT~
离线benbenmajia

只看该作者 2楼 发表于: 2010-03-31
查找下manual,PS:QTABLEWIDGET的遍历是通过item,tree中是有节点的,应该有不同的遍历方式,具体不清楚,我看看
安然.....
快速回复
限100 字节
 
上一个 下一个