1

我有一个小应用程序,它从服务器加载 QML 文件并向用户显示某种“书架”。

用户可以选择其中一本显示的书籍,C++ 将在后台下载一个 ZIP 文件,将其解压缩。结果是文件系统上每本书的文件夹都有一个“main.qml”文件,该文件基本上是该书的独立版本,允许用户浏览/缩放/等。

ApplicationWindow用来在其 QML 文件中显示书架,现在我想知道“切换”到书并将其显示在 ApplicationWindow 中的最佳方法是什么。最好的意思是,如果书架几乎从内存中“卸载”以释放用于书籍展示的资源,那就太好了。

我该怎么做?

我感觉不太“正确”的粗略想法是:

  • 用于QQmlApplicationEngine::load()加载另一个 URL?
  • 将书的 QML 组件作为最顶层的子对象添加到书架;但这会导致大量资源浪费。
  • ...?

任何建议表示赞赏!

4

1 回答 1

0

最基本的解决方案是只Loader在您的应用程序窗口中使用 a 。使用您main.qml的实例化设置它,然后当用户选择一本书时,将Loader' 的源设置为该书的 QML 文件。

但是最好动态加载“屏幕”,然后您可以在销毁前一个屏幕之前使用过渡效果。

于 2015-02-04T19:53:10.403 回答