基于 QML 的 Qt 文件浏览器

标签 qt browser filesystems qml qfilesystemmodel

使用QFileSystemModel很容易实现文件浏览器。但 ListView 的 UI 并不漂亮。所以我想用QML实现一个文件浏览器。 QML 具有模型/ View 支持。但是如何在 QML 中显示文件系统树呢?任何线索将不胜感激。

最佳答案

从 Qt5.5 开始,我们就有了 TreeView QML 组件可用,

main.qml:

import QtQuick.Controls 1.4
TreeView {
    anchors.fill: parent
    TableViewColumn {
        title: "Name"
        role: "fileName"
        width: 300
    }
    model: my_model
}

main.cpp:

QFileSystemModel model;
model.setRootPath("/");
QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("my_model", &model);
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));

关于基于 QML 的 Qt 文件浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6133344/

相关文章:

c++ - Qt:从类 MainWindow 访问函数:其他文件中的公共(public) QMainWindow

python - 重新实现QAbstractTableModel后TableView没有数据显示在表格中

javascript - 是否可以使用 JavaScript 撤销对移动文件系统的访问?

linux - inode - 移动一个已经打开的文件

html - 文本对齐在 QTextDocument 的 setHTML 中不起作用?

python - 在 Qt Creator 中包含 Python

javascript - 如何确保控制台对象作为 CoffeeScript 中窗口对象的属性存在

javascript - window.screen.width 和 height 返回的值是 CSS 像素还是实际屏幕像素?

javascript - Google 地球插件上下文菜单

windows - 如何删除文件以及 Windows 上的所有硬链接(hard link)?