我使用下面的代码设置按钮
Button {
x: 141
y: 312
width: 98
height: 22
text: qsTr("Hello World")
anchors.verticalCenterOffset: 116
anchors.horizontalCenterOffset: -59
anchors.centerIn: parent
MouseArea
{
anchors.rightMargin: 126
anchors.bottomMargin: -172
anchors.leftMargin: -126
anchors.topMargin: 172
preventStealing: true
anchors.fill: parent
onPressed: {
console.debug("clicked!")
}
}
}
按下按钮' hello world'它应该显示在控制台上点击。
但是当我点击按钮
时,似乎没有任何反应
您的评论欢迎
答案 0 :(得分:2)
首先QML
Button
拥有自己的信号clicked
,因此您不需要MouseArea
。
其次,如果您想使用MouseArea
,您还可以尝试onClicked
信号,并按照以下方式执行此操作:
Button {
id: button1
x: 8
y: 19
text: qsTr("Button")
// onClicked: {
// console.debug("clicked!")
// }
MouseArea{
preventStealing: true
anchors.fill: parent
onPressed: {
console.debug("clicked!")
}
onDoubleClicked:
{
console.debug("double clicked!")
}
}
}
http://qt-project.org/doc/qt-5/qml-qtquick-controls-button.html#clicked-signal
http://qt-project.org/doc/qt-5/qml-qtquick-mousearea.html#clicked-signal