如何在 QML 文件中直接监听 QGuiApplication::applicationStateChanged 信号

Posted

技术标签:

【中文标题】如何在 QML 文件中直接监听 QGuiApplication::applicationStateChanged 信号【英文标题】:How to listen to QGuiApplication::applicationStateChanged signals directly in a QML file 【发布时间】:2018-06-13 20:36:35 【问题描述】:

我在 AndroidiOS 上的 Qt 5.9.3 上运行我的 Qt 应用程序。我想直接在 QML 文件上收听QGuiApplication::applicationStateChanged

如何使用连接在 QML 上监听应用程序状态变化,而无需编写任何代码来从我的 C++ 类发出信号。

我想使用连接收听Qt::ApplicationState::ApplicationInactiveQt::ApplicationState::ApplicationActive 事件。 在我的 QML 文件中使用类似的东西

Connections 
   target: something_but_what
   onApplicationStateChanged: 
     console.log("State changed", state)
   

我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

你有来自 QML 中 Qt 对象的 access to that functionality:

  Connections 
    target: Qt.application
    onStateChanged: console.log(Qt.application.state)
  

【讨论】:

以上是关于如何在 QML 文件中直接监听 QGuiApplication::applicationStateChanged 信号的主要内容,如果未能解决你的问题,请参考以下文章

PySide2 QML - 如何在另一个 QML 文件中引用 QML 文件作为组件?

qml-自定义quick模块

如何在 Cascades、Blackberry 10 中使用 Qt/QML/C++ 从另一个 qml 文件中更改一个 qml 文件中的标签文本?

如何在 QML 中查询键盘修饰符?

在 Qml 中创建一个新文件夹

如何在cpp文件中阻止qml中的按钮?