Python 我可以替换QFileSystemModel+;QSortFilterProxyModel+;QTreeView与QtQuick?

Python 我可以替换QFileSystemModel+;QSortFilterProxyModel+;QTreeView与QtQuick?,python,qml,qtquick2,pyside2,Python,Qml,Qtquick2,Pyside2,我没有使用QML/QtQuick,但听说它更简单 我想构建一个本地文件管理系统,它需要QFileSystemModel+QSortFilterProxyModel+QTreeView 我的问题是:我可以使用QML/QtQuick做同样的事情吗?我不知道simpler,尤其是在这种情况下。我想这取决于您正在寻找的UI功能集。当然,如果你真的想/需要,几乎任何事情都可以做,但是 您提到的最大(可能)障碍是没有真正受支持的树视图组件。有旧的控件1,但这是不推荐使用的(具有讽刺意味的是,它显示了一个文件

我没有使用QML/QtQuick,但听说它更简单

我想构建一个本地文件管理系统,它需要QFileSystemModel+QSortFilterProxyModel+QTreeView


我的问题是:我可以使用QML/QtQuick做同样的事情吗?

我不知道simpler,尤其是在这种情况下。我想这取决于您正在寻找的UI功能集。当然,如果你真的想/需要,几乎任何事情都可以做,但是

您提到的最大(可能)障碍是没有真正受支持的树视图组件。有旧的控件1,但这是不推荐使用的(具有讽刺意味的是,它显示了一个文件浏览器树的示例,但这是一个示例)。它还基于大量的QML/JS代码,速度很慢。据我所知,控件2中没有合适的控件

然后是缺少一个简单的
QSortFilterProxyModel
等价物。我想我们应该用它来做这类事情,但充其量也很尴尬。退房。现在制作一个
QSortFilterProxyModel
子类并不是那么难,它可以很好地使用QML,而且有一些已经发布的版本(例如,但我个人没有尝试过),但在基本QML组件IMHO中却存在着令人惊讶的缺失。还可以在C++中创建/配置<代码> QSoTFFRIPTROPROXYME < /COD>,并将其作为上下文属性(或类似)暴露给QML,当然当然也需要从C++方面进行操作(例如,这样做是相当冗长的)。 最后,
QFileSystemModel
也没有真正暴露于QtQuick。有一个实验室的版本有点接近(但请特别注意,它是一个列表模型,而不是一个树模型)。您也可以从C++公开一个<代码> qFraseStimeMys/COD>(作为上下文属性),但是这可能不是很直接的(如见此)。 所以,YMMV。如果需要一个“通用”UI(桌面/移动/等),那么坦率地说,HTML/CSS/JS可能是更好的选择(当然,QT+C++后端;)。就我个人而言,我发现QML对于编写桌面类应用程序感到沮丧,因为在可用的QML组件中缺少很多功能,而C++中的子类几乎不可能,因为大多数“好的东西”都是私有API。