Есть ли способ вызвать сигнал из mouseArea, включенного в компонент, который загружен где-то еще?
onClicked в приведенном ниже примере не вводится, когда я нажимаю на прямоугольник.
Структура должна оставаться такой, как определено. Чтобы иметь возможность определить компонент qml, который применяет тень к любому источнику
Вот код:
Window{
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Item
{
id: mainRectangle
anchors.centerIn: parent
width: loaderId.width + 60
height: loaderId.height + 60
Rectangle {
id: rect2
anchors.right: mainRectangle.right
anchors.top: mainRectangle.top
anchors.rightMargin: -30
anchors.topMargin: -30
width: 100
height: 100
color: "red"
opacity: 0.5
}
Loader {
id: loaderId
anchors.centerIn: parent
sourceComponent: component
active:true
}
visible: false
}
ShaderEffectSource {
id: shader
anchors.fill: mainRectangle
anchors.margins: -30
sourceItem: mainRectangle
opacity: 0.5
visible: true
}
Component {
id: component
Rectangle {
id: rect
width: 100
height: 100
color: "black"
MouseArea {
anchors.fill: parent
onClicked: {
console.log("Clicked!")
// call a signal from here
}
}
}
}
}
В конце концов, он должен показать, что он делает сейчас, и mouseArea должна работать.
rectв вашем случае. Напримерsignal mySignal()и так назовите его откуда нужноroot.mySignal()- person folibis   schedule 09.09.2018MouseAreaне отображается и, следовательно, не получает событий. - person Mitch   schedule 09.09.2018