用QML编写文件管理器

时间:2015-11-06 22:48:41

标签: javascript qt qml qt5 qtquick2

我刚开始学习QML,一般没有Qt或GUI开发经验。我的第一个任务是编写文件管理器。到目前为止,我喜欢QML的是我可以用纯文本进行设计,但它已经找到了实现简单事物的方法challenging。目前我使用Qt.labs.FolderListModel 2.1作为目录列表的工作马,我甚至还没有触及过C ++或PyQt,它现在只是纯粹的QML。

所以我对我的小文件管理器的未来路径有几个问题:

  1. FolderListModel足够强大,可以完成所有事情 多功能文件管理器可以吗?据我所知, QFileSystemModel看起来更完整吗?事实上 前者在Qt.labs中有点担心我。如果确实 FolderListModel旨在用作"快速和肮脏的"事情, 这是否意味着切换到QFileSystemModel会更好 早?因为我从QML而不是QML接近Qt世界 传统的C ++角度,取代我当前的感觉是什么样的 QML中的FolderListModel代码是由Qt / C ++或PyQt支持的东西吗?
  2. 相关:我听说实际上可以用纯QML(用JavaScript)编写完整的应用程序。如果应用程序是由某些后端驱动的,例如一个数据库,我可以看到单独的QML可能不够表达。但是,在我编写文件管理器的情况下,尽管有"性能"参数,尝试坚持纯QML,使用JavaScript来处理所有业务逻辑是一个好主意吗?

1 个答案:

答案 0 :(得分:1)

我最近一直在使用QML中的简单文件管理器。如果你只坚持QML,你将面临的问题是:

  • 无法知道当前插入的驱动器数量。
  • 无法按名称轻松排序文件。由于这种情况,使用提供的排序标志将导致在 a.txt 之前有 B.txt

幸运的是,使用QML连接C ++类很容易,因此您始终可以扩展默认的QML功能。

如何连接C ++和QML:http://doc.qt.io/qt-5/qtqml-cppintegration-topic.html