Hi Frank,
A MouseArea that is not "effectively" visible doesn't receive mouse events --
because testrma is a child of testr it won't receive mouse events when testr
isn't visible. If you instead make those two items siblings (don't forget to
change anchors.fill: parent to anchors.fill: testr), it should work as you were
intending.
Regards,
Michael
On 14/07/2010, at 2:53 PM, ext light frank wrote:
Hi,
What I wan to do is:
1. click the background, show the rectangle, move mouse into the rectangle and
hide the rectangle, move the mouse away
2. click the background again, show the rectangle again...
But I get some problems, only the first time is right, and the followed are not
right.
I draw a rectangle, and set MouseArea in it, and I want to get onEntered
message each time I move mouse into it.
But it seams that if I hide the rectangle when the mouse is in it, and move
mouse away, and move mouse into the area again, I will not receive the
onEntered message.
Maybe this is because onEntered and onExited message must be sent in pairs? But
I have reset 'enable' and 'hoverEnalbed' properties of the MouseArea. Can I
reset the mouse enter and exist status, so that I can get mouse enter message
each time?
Below is code. Thanks very much.
yours,
Frank
-----------------------
import Qt 4.7
Item {
x: 0
y: 0
width: 500
height: 500
visible: true
MouseArea{
anchors.fill: parent
acceptedButtons: Qt.LeftButton | Qt.RightButton
onClicked:{
testr.visible = true
}
}
Rectangle{
id: testr
color: "red"
width: 200
height: 200
x: 200
y: 200
visible: false
MouseArea {
id: testrma
enabled: visible
hoverEnabled: visible
anchors.fill: parent
acceptedButtons: Qt.LeftButton | Qt.RightButton
onEntered: {
console.log("============== ==onEntered")
testr.visible = false
}
onExited: {
console.log("============== ==onExited")
}
}
}
}
<ATT00001..txt>
_______________________________________________
Qt-qml mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt-qml