【问题标题】:How to show DotDot path in QTableView using QFileSystemModel?如何使用 QFileSystemModel 在 QTableView 中显示 DotDot 路径?
【发布时间】:2017-11-23 00:28:48
【问题描述】:

我提前为我的英语道歉。我在简单的两面板文件管理器中有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();

【问题讨论】:

  • 或许,从发布一些代码开始会是个好主意;)
  • 哦,抱歉:) 我已在原始问题中添加了代码。

标签: qt qtableview qfilesystemmodel


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 2022-11-12
    • 2013-03-06
    相关资源
    最近更新 更多