如何在Qt中创建文件树? (setRootIndex()没有做任何事)

时间:2014-03-22 02:10:22

标签: qt

我有一个QTreeView,我尝试调用setRootIndex()然后调用update(),但没有显示任何内容。这是我使用的代码,但无济于事,

QDirModel model;
sc_me->ui->treeView_2->setAnimated(true);
sc_me->ui->treeView_2->setSortingEnabled(true);
sc_me->ui->treeView_2->setModel(&model);
sc_me->ui->treeView_2->setRootIndex(model.index(QString("C:/")));
sc_me->ui->treeView_2->update();

1 个答案:

答案 0 :(得分:1)

问题在于QDirModel及其调用方式。由于我不知道的原因,它需要是setRootIndex中的指针。我还将其更改为QFileSystem模型,如下所示:

QFileSystemModel* model = new QFileSystemModel();
    sc_me->ui->treeView_2->setAnimated(true);
    sc_me->ui->treeView_2->setSortingEnabled(true);
    sc_me->ui->treeView_2->setModel(model);
    sc_me->ui->treeView_2->setRootIndex(model->index(QString("C:/")));
    sc_me->ui->treeView_2->update();