我目前正在尝试制作一个QTreeView来显示计算机上该文件夹的内容。但是,我遇到了一些奇怪的问题。和..显示在树视图中,我不希望这种情况发生。我怎么想禁用显示。和...在树视图中?
https://developer.mozilla.org/en-US/docs/Web/API/FileReader
以下是QTreeView的代码。
model = new QDirModel(this);
model->setReadOnly(true);
model->setSorting(QDir::DirsFirst | QDir::IgnoreCase | QDir::Name);
model->setFilter(QDir::Dirs);
ui->treeView->setModel(model);
// expand to D: Directory
QModelIndex index = model->index("D:/");
ui->treeView->expand(index);
ui->treeView->scrollTo(index);
ui->treeView->setCurrentIndex(index);
ui->treeView->resizeColumnToContents(0);
答案 0 :(得分:1)
最后找出答案:
model->setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
使用以下内容无效,因为可以在每个文件夹上展开树视图:
model->setFilter(QDir::Dirs);
model->setFilter(QDir::NoDotAndDotDot);
答案 1 :(得分:0)
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QFileSystemModel model;
model.setFilter( QDir::Dirs | QDir::NoDotAndDotDot );
model.setRootPath("");
QTreeView tree;
tree.setModel(&model);
// Demonstrating look and feel features
tree.setAnimated(false);
tree.setIndentation(20);
tree.setSortingEnabled(true);
tree.setWindowTitle(QObject::tr("Dir View"));
#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5)
tree.showMaximized();
#else
tree.resize(640, 480);
tree.show();
#endif
return app.exec();
}