• 7766阅读
  • 2回复

QFileSystemModel/QTreeView/QListView,如何让QTreeView/QListView初始化时显示空白? [复制链接]

上一主题 下一主题
离线snowdream
 
只看楼主 倒序阅读 楼主  发表于: 2009-08-10
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
如题?
采用QFileSystemModel/QTreeView/QListView,即使不设置VIEW视图的setrootIndex,QTreeView/QListView也会出现系统默认根目录。
我需要初始化时,QTreeView/QListView都是空白,怎么设置?
QQ:273247606
希望与大家一起交流QT~
离线80437
只看该作者 1楼 发表于: 2009-08-10
Help里面是这样说的:

QFileSystemModel will not fetch any files or directories until setRootPath is called. This will prevent any unnecessary querying on the file system until that point such as listing the drives on Windows.
离线snowdream
只看该作者 2楼 发表于: 2009-08-10
已经注释掉了setRootPath,还会显示一个目录。
不知道为什么?

  1. rbrowse::rbrowse(QWidget *parent):QWidget(parent){
  2.   rdirmodel = new QFileSystemModel;
  3. //    rdirmodel->setFilter(QDir::AllDirs | QDir::NoDotAndDotDot);
  4. //     rdirmodel->setRootPath("/");
  5.    rlistview = new QListView;
  6.    rlistview->setModel(rdirmodel);
  7. //       rlistview->setRootIndex(rdirmodel->index(""));
  8.    rtreeview = new QTreeView;
  9.     rtreeview->setSortingEnabled(true);
  10.     rtreeview->sortByColumn(0,Qt::AscendingOrder);
  11.     rtreeview->setModel(rdirmodel);
  12.     rtreeview->setAnimated(true);
  13.     rtreeview->setIndentation(20);
  14.     rtreeview->setColumnWidth(0,100);
  15.     rtreeview->hideColumn(1);
  16.     rtreeview->hideColumn(2);
  17.     rtreeview->hideColumn(3);
  18.     rtreeview->setHeaderHidden(true);
  19.     //   rtreeview->setRootIndex(rdirmodel->index("//192.168.1.86"));
  20.          //  rtreeview->setRootIndex(rdirmodel->index(""));
  21. qDebug()<<rhost;
  22.    QObject::connect(rtreeview, SIGNAL(clicked(const QModelIndex&)),
  23.                      rlistview, SLOT(setRootIndex(const QModelIndex&)));
  24.    QObject::connect(rlistview, SIGNAL(clicked(const QModelIndex&)),
  25.                      rtreeview, SLOT(setCurrentIndex(const QModelIndex&)));
  26.    QObject::connect(rlistview, SIGNAL(doubleClicked(const QModelIndex&)),
  27.                      rlistview, SLOT(setRootIndex(const QModelIndex&)));
  28.    QVBoxLayout *layout = new QVBoxLayout;
  29.    layout->addWidget(rtreeview);
  30.    layout->addWidget(rlistview);
  31.    this->setLayout(layout);
  32. }
QQ:273247606
希望与大家一起交流QT~
快速回复
限100 字节
 
上一个 下一个