我想创建一个信号,所以我有一个名为TestCreateSignal.qml的qml文件 内容如下:
import QtQuick 2.0
Rectangle
{
color: "red"
width: 344
height: 233
signal sendMessage
MouseArea
{
onClicked:
{
sendMessage();
}
}
}
我想在另一个名为TestUseSignal.qml的qml文件中使用此信号
import QtQuick 2.0
Rectangle
{
TestCreateSignal
{
sendMessage: //Error is at this line
{
console.log("message sendded");
}
}
}
但是当我想使用
时,我得到了这样的错误qrc:/TestUseSignal.qml:5无法分配给不存在的属性“sendMessage”
答案 0 :(得分:1)
根据docs:
每当a时,都可以通过信号处理程序通知对象 发出特定信号。 声明了一个信号处理程序 语法
on<Signal>
其中<Signal>
是信号的名称,带有 首字母大写。必须在其中声明信号处理程序 发出信号的对象的定义,以及处理程序 应该包含要在执行时执行的JavaScript代码块 调用信号处理程序。
在你的情况下:
TestCreateSignal
{
onSendMessage:
{
console.log("message sendded");
}
}