QGraphicsView 中的 QAbstractItemModel

QAbstractItemModel in QGraphicsView

我必须根据目录中的文件系统创建项目。我必须使用 QGraphicsView 而不是 (QTreeView/QListView) 是强制性的,所以我如何设法为 graphicsScene 保留 QModel。任何人都可以帮助我建议或参考如何使用 QGraphicsScene 加载 QFileModel 的示例。

只有一种简单的方法可以做到这一点,将带有模型的视图添加到场景中。是的,它仍然是 QTreeView/QListView,但是您可以获得 QGraphicsViewQGraphicsScene 的所有优点,例如旋转、交互等

//fill the model and set model to view
ui->tableView->setParent(0);
QGraphicsProxyWidget * proxyView = ui->graphicsView->scene()->addWidget(ui->tableView);
proxyView->setRotation(45);

结果:

您不需要 QFileModel。使用 QDir::entryInfoList 获取文件列表并使用 QFileSystemWatcher 跟踪文件系统的修改。