要在QFileSystemModel中只显示文件夹,可以通过过滤器设置来实现。以下是一个示例代码:
#include <QApplication>
#include <QTreeView>
#include <QFileSystemModel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTreeView treeView;
// 创建QFileSystemModel,并设置只显示文件夹
QFileSystemModel model;
model.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
// 设置模型的根路径
QModelIndex rootIndex = model.setRootPath("C:/"); // 设置你想要显示的根路径
treeView.setModel(&model);
treeView.setRootIndex(rootIndex);
treeView.show();
return app.exec();
}
在这个示例中,我们创建了一个QTreeView并将其关联到一个QFileSystemModel上。然后,我们通过调用setFilter()函数来设置只显示文件夹(目录),而不显示文件。我们使用QDir::Dirs
来指定只显示目录,而QDir::NoDotAndDotDot
表示不显示 “.” 和 “..” 目录。
最后,我们通过调用setRootPath()函数来设置模型的根路径,你可以根据需要修改为你想要显示的具体路径。
运行该示例代码,你会看到在QTreeView中只有文件夹被显示出来。
内容由零声教学AI助手提供,问题来源于学员提问