我刚开始学习QML,以前没有Qt或GUI开发的经验。我的第一个任务是编写一个文件管理器。到目前为止,我喜欢QML的一点是,我可以用纯文本进行设计,但要找到实现哪怕是简单事情的方法也很有挑战性。目前我使用Qt.labs.FolderListModel 2.1
作为目录列表的工作马,我甚至还没有接触过C++或PyQt,现在它纯粹是QML。
因此,我有几个关于我的小文件管理器的未来路径的问题:
FolderListModel
是否足够强大,可以完成多功能文件管理器能做什么?在我看来,QFileSystemModel
看起来功能更完整?事实上前者在Qt.labs
,这让我有点担心。如果确实CCD_ 5是一个"快而脏"的东西,这是否意味着最好换成QFileSystemModel
更快?因为我是从QML而不是传统的C++角度,取代我现在的是什么感觉QML中的FolderListModel
代码到由Qt/C++或PyQt支持的东西- 相关:我听说实际上可以用纯QML(使用JavaScript)编写完整的应用程序。如果应用程序是由一些后端驱动的,例如数据库,我可以看到QML本身可能不够有表现力。然而,在我编写文件管理器的情况下,尽管有"性能"的争论,但尝试坚持纯QML,对所有业务逻辑使用JavaScript是个好主意吗
我最近一直在QML中开发一个简单的文件管理器。如果你只坚持QML,你将面临的问题是:
- 无法知道当前插入了多少驱动器
- 无法轻松地按名称对文件进行排序。由于这种情况,使用提供的排序标志将导致B.txt在a.txt之前
幸运的是,将C++类与QML连接起来很容易,因此您将始终能够扩展默认的QML功能。
如何连接C++和QML:http://doc.qt.io/qt-5/qtqml-cppintegration-topic.html