J'ai un grand rectangle avec un bouton centré. Je voudrais que mon rectangle soit transparent aux événements de la souris à l'exception du bouton, qui doit être cliquable. Je veux dire, je voudrais pouvoir sélectionner le code sous mon rectangle avec la souris, exactement comme si aucun Rectangle n'était affiché.QQuickView (QML) transparent pour les événements souris
J'ai ajouté un MouseArea pour tout le gros Rect, en essayant d'ignorer les événements de souris, mais cela ne fonctionne pas. J'ai lu que 'Qt :: WA_TransparentForMouseEvents' est utilisé à cette fin, mais dans les fenêtres Qt aussi fasr que je sache, pas disponible dans mon cas.
Merci à l'avance
Mon QML est chargé de 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
}
}
Cela semble lié à: http://stackoverflow.com/questions/40833624/how-to-make-a-true-transparent-window-to-cursor-preferably-on-a-pure-qml-qt - Appart que le 'Rectangle' devrait être dessiné à demi-transparent, et il n'y a qu'un seul 'Button' impliqué – derM
Et ce que vous essayez de faire avec ce' MouseArea', je fais totalement pas eu. – derM