Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QML событие мыши на область
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
Я
Привет всем.
Пишу проект на qml. Столкнулся с такой проблемой, что событие onClicked привязывается не к конкретному "слою", а ко всему parent для этого слоя.
Теперь конкретнее:
import QtQuick 1.0

Rectangle {
    id: background
    width: 640
    height: 480
    color: "Transparent"

    Rectangle {
        x: parent.x + 10
        y: parent.y + 10
        width: parent.width - 20
        height: parent.height -20
        color:  "#5F5F5F"

        MouseArea {
            anchors.fill: parent
            onClicked: {
                Qt.quit();
            }
        }
    }
}


Создается окно. Тыцкаем по белой области - ничего не закрывается.
Тыцкаем по серой - все закрывается.

Другое дело начинается вот когда:
import QtQuick 1.0

Rectangle {
    id: background
    width: 640
    height: 480
    color: "Transparent"

    Rectangle {
        x: parent.x + 10
        y: parent.y + 10
        width: parent.width - 20
        height: parent.height -20
        color:  "#5F5F5F"

        Rectangle {
            x: parent.x
            y: parent.y
            width: parent.width - 100
            height:  parent.height - 50
        }


        Text {
            text: parent.x
            anchors.centerIn: parent
        }
        MouseArea {
            anchors.fill: parent
            onClicked: {
                Qt.quit();
            }
        }
    }
}

Если тыцкнуть по серой области - все закрывается, но если нажать по внетренней белой области - окно тоже закрывается.
Подскажите, как решить. Заранее благодарен.
Я
Проблему решил так:
На каждый из rectangle повесил свое событие для мыши и все. Естественно, у верхнего слоя, оно пустое. onclick: {}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.