【发布时间】:2018-06-23 00:12:29
【问题描述】:
我正在使用 Qt/QML 构建应用程序。我的主窗口的 QML 非常复杂,并且依赖于大量数据,这些数据必须通过 HTTP 加载,然后由 C++ 后端处理,然后才能显示。
C++ 后端提供一个信号,当数据准备好时触发。在那之前,我希望窗口是空的,除了显示一个简单的加载指示器。当然,我可以使用一个简单的覆盖来隐藏我的实际界面,直到数据可用,但这意味着我的实际用户界面的 QML 代码已经加载并尝试访问尚不可用的数据,即导致很多错误,因此我需要为每个可能尚不可用的单个属性添加数十个虚拟值和 NOTIFY 信号。
完全停用一部分 QML 代码并在触发信号后立即启用它的最佳方法是什么?
【问题讨论】:
-
将所有窗口内容放在
Loader中,然后在触发器触发时加载它。 -
除了刚才写的,你实际上会使用
Loader