在启动应用程序时发出 qml 信号

Posted

技术标签:

【中文标题】在启动应用程序时发出 qml 信号【英文标题】:emit qml signal on start application 【发布时间】:2014-10-28 08:07:21 【问题描述】:

在 qml 中,有没有一种方法可以发出或者在应用程序开始时发出信号?

我的目的是检查某些值是否在列表中以及何时,然后我想启用一个按钮。

类似:

Rectangle id:main 
   Button 
      id:myButton
      checkable: false
      onClicked:  /* do something */ 
   
   // First variant
   Connections: 
      target: myClass
      onSignalEmit()  myButton.checkable = true 
   
   // Second varinat
   emit startUp()
   

【问题讨论】:

不完全确定您想要做什么,但Component.onCompleted: 可能会满足您的需求。 【参考方案1】:

正如@Retired Ninja 所说,您可以在这种情况下使用 Component.onCompleted

http://qt-project.org/doc/qt-5/qtqml-javascript-expressions.html#javascript-in-application-startup-code

Rectangle 
    id:main
    ....
    Component.onCompleted: startUp();

【讨论】:

以上是关于在启动应用程序时发出 qml 信号的主要内容,如果未能解决你的问题,请参考以下文章

QItemSelectionModel currentChange 信号在应用程序启动时发出?

Qml 注册类型的构造函数中的发射信号不起作用

QML TreeView 是不是支持模型发出的信号 layoutChanged?

QML 插槽中未收到 C++ 信号

来自 C++ 插件的 QML 类型仅发出一次信号

将 qml 信号连接到 Qt