繁体   English   中英

如何在QML中引用调用对象

[英]How to reference the calling object in QML

有没有办法在QML中获取对调用对象的引用? 我正在寻找与QML中的'this'指针相同的东西

示例:假设我有一个组件作为图形元素的后端,例如视频播放器的搜索栏。 此后端将视频的当前和总持续时间作为输入,并定期提供图形搜索栏的更新。 现在,如果此后端中有一个信号处理程序用于发送当前和总持续时间的信号,它可能看起来像这样:

Connections {
  target: sender //this

  onSendSeekUpdate()
  {
    //do something
  } 
}

当然我想这可以用C ++实现,然后导入到QML中。 但我只是想知道QML是否也支持这个? 这样我就可以直接在QML中编写这样的钩子。

在QML中,您可以使用任何id作为指针,以及任何QObject派生类型属性,因此在您的代码示例中,我们可以动态更改Connectiontarget ,并仍然使用信号处理程序中的相同var指向发送方:

Connections {
    target: myitem; // change it when you need
    onMySignal: {
        target.doSomething(); // just use target here as it points on the listened object
        // it's just like 'sender()' in Qt/C++
    }
}

不确定这是你要求的,但我试着理解你的解释;-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM