Un objet QML bloque les événements de la souris du parent
Bonjour à tous,
Je n'arrive pas à trouver la solution à mon problème. J'ai un ToolButton avec dedans une MouseArea (qui doit capté les cliques), et j'ai aussi une image pour l'icône du bouton (ici en background). Mon problème est que la MouseArea capte bien les cliques du bouton rectangle mais pas quand la souris est sur l'image (ici une croix) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
Rectangle {
Layout.preferredHeight: 20
Layout.fillWidth: true
color: "#000000"
RowLayout {
ToolButton {
Layout.preferredHeight: 16
Layout.preferredWidth: 16
Layout.margins: 2
ToolTip.visible: hovered
ToolTip.text: qsTr("Fermer l'application")
MouseArea {
anchors.fill: parent
onClicked: {
console.log("aa")
window.close()
}
}
background: Image {
id: image_button_close
anchors.fill: parent
fillMode: Image.PreserveAspectFit
source: "image/button_close.png"
}
ColorOverlay {
anchors.fill: image_button_close
source: image_button_close
color: "#FFFFFF"
}
}
}
} |
Nouvelle demande quasi similaire - Tooltip
Bonjour à tous,
je profite de cette conversation pour réitérer ma précédente demande d'aide.
En effet, je crée un composant QML dont j'y associe un MouseArea afin que l'on puisse uniquement cliquer sur l'icône/l'image de l'objet lors de la simulation.
Cependant, vu que d'une certaine façon les informations de la position de mon objet sont "encapsulés" dans la déclaration de la définition de la création de mon objet,
je n'y arrive pas (encore pour le moment) à y associer un Tooltip pour y afficher la position de mon objet en temps réel lors de la simulation lorsque l'utilisateur clique dessus.
J'ai essayé de définir un Tooltip à l'intérieur de ma Mousearea ou par des méthodes accéder aux informations de position.
Mais sans succès pour le moment.
Je vous remets le code d'exemple correspondant.
Si une personne aurait une idée et la gentillesse de me répondre je l'en remercie d'avance.
Merci, cdt,
KM
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
toto = Qt.createQmlObject('import QtQuick 2.0; import QtLocation 5.8;
MapQuickItem{
id: toto
sourceItem: Image {
id: imageCar
source: "toto.png"
}
MouseArea{
id:mouseArea
acceptedButtons: Qt.LeftButton | Qt.RightButton
anchors.fill:parent
hoverEnabled: true
onClicked: console(toto.coordinate.latitude,toto.coordinate.longitude)
}
}
', Window); |