首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt窗体(或Windows)的生命周期

Qt窗体(或Windows)的生命周期
EN

Stack Overflow用户
提问于 2016-06-03 19:12:36
回答 1查看 678关注 0票数 1

如何控制QML表单的生命周期(我指的是windows)?我指的是安卓上的onCreate、onResume、onPause等方法,或者是iOS的生命周期视图。我能在安卓、iOS、Windows10Mobile、桌面等平台上完成QML表单的生命周期吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-04 07:02:29

QTQuick(QML)应用程序的设计不同于Android应用程序。视图和对象(如ButtonText等)没有区别。每个具有图形表示的QML对象都继承Item,可以定义Component.onCompletedComponent.onDestruction函数。一旦创建和销毁对象,它们将被执行。如果您还需要暂停信号,我建议在您创建的每个视图中创建函数pause()resume(),并创建一个对象来管理视图--创建、销毁、暂停和恢复视图。请注意,您需要自己处理视图和状态之间的转换。此外,由于您可以创建自己的QML对象,因此值得考虑创建视图的模板,然后只继承它。

这将适用于您部署应用程序的每个系统。

如果你有更多的问题,需要举例等等,考虑编辑问题或留下评论。

我想再次感谢BaCaRoZzo提供有用的建议。我把它们加到了这个答案里。

我创建了一个尝试模仿Android应用生命周期的示例项目。这将适用于每个操作系统。这只是一个例子,但我认为类似的方法可能在发布源中使用。但是,首先您需要了解QML的本质。这是一种高级语言,已经被其他进程管理了。它与Java有很大的不同。例如,查看关于后台进程使用的状态的文档片段:

通常不应在QML级别处理此状态。相反,当应用程序再次激活时,您应该卸载整个UI并重新加载QML文件。

因此,如果我是您,我只会保存敏感数据时,我发现应用程序是要到后台。不需要尝试和取消视图等。这将是不必要的艰苦斗争,因为QML不是为此而设计的。相反,如果操作系统需要更多的内存,就让你的应用程序被杀死。

您可以找到示例项目这里。如果你想的话可以用。它包含评论,让您更好地了解正在发生的事情。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37621827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档