如何使用 QFileSystemModel 在 QTableView 中显示 DotDot 路径?

How to show DotDot path in QTableView using QFileSystemModel?

我提前为我的英语道歉。在我简单的双面板文件管理器中,我有 QTableViewQFileSystemModel 作为模型。它正确显示文件和目录,但我希望它显示 DotDot 行以移动到当前目录的父级。设置 QFileSystemModel::filter(QDir::AllEntries | QDir::NoDot) 没有帮助,DotDot 仍然没有显示在 QTableView 中。以上所有内容都适用于 Windows 7 上的 Qt 5.9.1。但是当我在 Ubuntu 上构建应用程序时,它会正确显示 DotDot,并且 QFileSystemModel::filter() 可以根据其参数完美运行。我可以让它在 Windows 7 上运行还是它是一个错误? 这是我的代码的简化示例:

    QTableView *tableView = new QTableView;
    QFileSystemModel *fsModel = new QFileSystemModel;
    fsModel->setRootPath(QDir::rootPath());
    fsModel->setFilter(QDir::AllEntries | QDir::NoDot);
    tableView->setModel(fsModel);
    QObject::connect(tableView, &QTableView::doubleClicked, tableView, &QTableView::setRootIndex);
    tableView->show();

使自己class继承自QFileSystemModel。并重新定义虚方法rowCount() 和data()。 这不是简单的方法,但可以很好地控制使用该模型显示的内容。当然,您可以添加 Dot 和 DotDot(甚至 DotDotDotDot :) )目录。