1
我無法找到從一個qml文件到另一個qml文件進行通信的方式。我知道有很多方法可以將信號從qml發送到C++插槽並反向,但是我所有關於兩個不同qml文件之間信號的研究都失敗了。 所以我會很高興,如果有人能告訴我,我該如何解決這個問題。如何從一個qml發送信號到另一個
首先一點抽象的例子來理解以更好的方式的問題...
第一QML在基礎看起來像這樣:
//MyQML1.qml
Rectangle
{
id: idMyRec1
signal mySignalFromQML1()
Button
{
id: idMyButton1
onClicked:
{
idMyRec1.mySignalFromQML1(); //to send the signal
}
}
}
第二屆一個看起來是這樣的:
//MyQML2.qml
Rectangle
{
id: idMyRec2
Text{
id: idMyText2
text: "Hello World!"
onMySignalFromQML1: //to receive the signal from the other qml
{
idMyText2.text = "Good Bye World!";
}
}
}
所以這個按鈕應該改變我的第二個QML文本爲「再見世界!」點擊時...但這不起作用...有沒有其他方式將信號從QML發送到另一個QML?或者我做錯了什麼?
對不起,但到目前爲止我還沒有工作... 我試過你的例子在一個新的項目中測試它,但我的編譯器無法處理這些「對象」(?),你叫做Rect1 {。 ..}和Rect2 {...} 我在做什麼錯?對不起...我是qml編程新手......但感謝您的幫助! –
您需要將'Rect1.qml'和'Rect2.qml'作爲項目的一部分。然後你可以使用它們作爲QML類型。你真的需要退後一步,從頭開始學習QML。開始的好地方是https://qmlbook.github.io/ – dtech
啊,好的......謝謝!愚蠢的我!我之前做了很多次,但忘了在新項目中重新命名我的qml文件... 但是你是對的...我必須學習更多關於QML的知識......很長的路要走! 謝謝你的鏈接! –