I have an element that creates a new element by the onPressed event, the created element has its own MouseArea with the functions onPressed and onPositionChanged. Now I have to press on the new element again to interact with it. How can I make the new element react immediately to mouse events (when the mouse button is pressed)?
import QtQuick 2.11
import QtQuick.Window 2.11
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Rectangle
{
id: start
width: 100
height: 100
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
color: "red"
Component
{
id: comp
Rectangle
{
x: start.x
y: start.y
width: start.width
height: start.height
color: "blue"
MouseArea
{
anchors.fill: parent
onPositionChanged:
{
console.log(mouse.x, mouse.y)
if (mouse.x < 0)
{
parent.x += mouse.x
}
if (mouse.y < 0)
{
parent.y += mouse.y
}
if (mouse.x > parent.width)
{
parent.x += mouse.x - parent.width
}
if (mouse.y > parent.height)
{
parent.y += mouse.y - parent.height
}
}
}
}
}
MouseArea
{
anchors.fill: parent
property Item obj
onPressed: {
obj = comp.createObject(start.parent);
if (obj === null) {
console.log("Error creating object");
}
}
}
}
}