Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

213
Views
QML Pass mouse events to the created element by pressing press

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");
            }
        }
    }

}

}
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!