IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Quick Discussion :

Un objet QML bloque les événements de la souris du parent


Sujet :

Qt Quick

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Décembre 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte réseau
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 35
    Points : 37
    Points
    37
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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"
                }
            }
        }
    }

  2. #2
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut


    Pourquoi n'utilises-tu pas les méthodes de ToolButton (onClicked par exemple) ?
    As-tu essayer de mettre MouseArea dans ton Image ?

    ++


    J
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  3. #3
    Membre émérite
    Profil pro
    retraité
    Inscrit en
    Décembre 2010
    Messages
    806
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2010
    Messages : 806
    Points : 2 307
    Points
    2 307
    Par défaut
    Essaye en mettant le mouseArea à la fin, je pense que cela est lié à l'ordre de la construction. Le MouseArea n'étant pas au dessus de tout le monde.

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2016
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2016
    Messages : 103
    Points : 103
    Points
    103
    Par défaut Image & MouseArea
    Bonjour,

    inclut ton MouseArea dans ton Image ; et ton Tool comme attribut de ta MouseArea.

    Un truc dans le genre :

    Code QML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Image
    {
      id : image
      source : "titi.png"
      MouseArea{
      id: mickey
      onclicked : // action that you want to do
      Tool.visible : mickey.onPressed // by exemple //
      }
    }
     
    Merci, cdt,
     
    KM

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2016
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2016
    Messages : 103
    Points : 103
    Points
    103
    Par défaut 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 QML : Sélectionner tout - Visualiser dans une fenêtre à part
    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);

Discussions similaires

  1. Récupérer les évênements de la souris (WINCE)
    Par thomas41 dans le forum C++
    Réponses: 6
    Dernier message: 06/07/2012, 15h28
  2. Récupérer les évènements d'un sous objet
    Par Speed41 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 03/03/2010, 18h45
  3. Réponses: 1
    Dernier message: 16/06/2009, 16h57
  4. bloqué les événement d'une form?
    Par Jayceblaster dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/07/2007, 13h16
  5. [JACOB] récupérer les événements d'objet COM
    Par zlavock dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 12/05/2005, 13h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo