我找不到一种方法来在一个QML文件中与另一个文件通信。我知道有许多方法可以在QML和C++之间发送信号,但是我所有关于两个不同的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中的文本为“Good Bye World!”,但是它没有起作用……是否还有其他方法可以从QML发送信号到另一个QML?!或者我做错了什么吗?
Rect1.qml
和Rect2.qml
作为项目的一部分。然后你可以将它们用作 QML 类型。你真的需要退一步,从头开始学习 QML。一个好的起点是 https://qmlbook.github.io/。 - dtech