我使用信号clicked
创建了自己的项目,其中包含MouseArea。单击MouseArea时,我想发出信号clicked
。但没有任何作用。
这是我的.qml代码:
import QtQuick 2.4
Item {
id: baseButton
property alias text: txt.text
width: txt.width
height: txt.height
signal clicked
onClicked : console.log("Clicked!")
Text {
id: txt
color: "white"
font.pointSize: 8
anchors.centerIn: parent
}
MouseArea {
id: mousearea
anchors.fill: parent
hoverEnabled: true
onEntered: {
txt.color = "yellow"
txt.font.pointSize = 15
}
onExited: {
txt.color = "white"
txt.font.pointSize = 8
}
onClicked: baseButton.clicked
}
}
我将非常感谢你的帮助!
答案 0 :(得分:3)
函数(信号是)是JS中的第一类对象,因此在没有括号的情况下引用它们不是错误。但是你需要它们来执行功能(即发出信号)。
所以只需改变这一行:
onClicked: baseButton.clicked()