ボタンが中央にある大きな長方形があります。クリック可能でなければならないボタンを除いて、私の四角形がマウスイベントに対して透過的であることを望みます。つまり、長方形が表示されていないかのように、長方形の下のコードをマウスで選択できるようにしたいと考えています。
マウス イベントを無視しようとして、すべての大きな Rect に MouseArea を追加しましたが、機能しません。
「Qt::WA_TransparentForMouseEvents」がその目的で使用されていることを読みましたが、Qt ウィンドウでは、私の場合は利用できません。
前もって感謝します
私の QML は main.cpp からロードされます:
QQuickView* pView = new QQuickView();
pView->setSource(QUrl("qrc:/MyRect.qml"));
pView->setFlags(Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
pView->setColor("transparent");
pView->show();
MyRect.qml:
import QtQuick 2.0
import QtQuick.Controls 1.4
Rectangle {
width: 500
height: 500
color: "green" // it would be transparent
opacity: 0.5
Button {
anchors.centerIn: parent
height: 50; width: 50
onClicked: console.log("clicked");
}
MouseArea {
anchors.fill: parent
enabled: false
propagateComposedEvents: true
hoverEnabled: false
// All this code I think is useless...
onClicked: mouse.accepted = false
onReleased: mouse.accepted = false
onEntered: mouse.accepted = false
onExited: mouse.accepted = false
onWheel: mouse.accepted = false
}
}