簡體   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