我有这样的QML代码和它真的直线前进,但我的问题是onEntered和onExited不会在所有的工作。我没有看到代码有什么问题,我觉得这是一个QtQuick错误!QML:鼠标悬停不工作
import QtQuick 2.2
Rectangle {
width: 480
height: 320
Rectangle {
x: 30; y: 30
width: 300; height: 240
color: "lightsteelblue"
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: {
console.log('mouse over ya kbeer');
}
onExited: {
console.log('mouse out ya kbeer');
}
}
}
}
我使用这个作为qml组件在其他地方使用。我不确定,但也许是因为我必须将它们嵌入到另一个Qt Quick项目中,因为鼠标事件已被父级缓存,所以不能确定该项目是否到达此项目!
任何建议和帮助真的很感激!
你如何使用这个矩形QML项目?如果您在另一个QML项目中使用它,也会启用鼠标悬停功能,那么它会首先吃掉鼠标事件,这就是为什么您看不到任何收到的事件。 – 2014-09-27 10:32:34
是的,我用它的另一个项目里面,但我不使用在上项目鼠标悬停,其抓了onClicked但不onEntered – 2014-09-27 10:33:57
很好,因为某些原因鼠标事件没有得到传播到你的内部元件。我建议你一个接一个地将MouseArea放在父元素中,并找出最后一个父元素接收鼠标事件的原因......并思考它为什么不传播它。 – 2014-09-27 10:38:00