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

Discussion :

Interaction avec la souris dans un GridLayout

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Par défaut Interaction avec la souris dans un GridLayout
    Bonjour,


    Dans une classe appelée "VueCentrale" héritée de QWidget, j'ai un GridLayout de 6 cases sur 11, ce qui fait 66 cases, qui correspond à un emploi du temps.
    Dans chaque case, il y a un QLabel. Et à chacune de ces cases (ou presque) correspond un ou zéro objet. Si un objet est associé à la case, alors l'utilisateur peut le modifier ou le supprimer en faisant clic-droit -> modifier. S'il n'y a aucun objet associé à la case cliquée, alors il peut en créer un en entrant des informations grâce à une boite de dialogue (clic-droit -> nouveau).

    Dès qu'un objet est modifié/créé/supprimé, une méthode de la vue est appelée pour mettre à jour la grille. Comme à chaque case correspond un objet, la méthode récupère les informations de cet objet et rempli le QLabel de cette case en conséquence. L'utilisateur ne doit pas pouvoir modifier la grille directement, sans passer par les actions que je viens de décrire.

    Ce que je ne sais pas faire donc :
    - Gérer l’événement de clic droit
    - Y associer un menu contextuel
    - Faire passer à ma boite de dialogue les coordonnées de la case cliquée (pour modifier/supprimer le bon objet ou pour associer un objet créé à la bonne case).


    J'ai pas mal cherché sur le net à propos des QMouseEvent et des menus contextuels mais jusque là tout ce que j'ai réussi à faire c'est d'afficher une boite de dialogue lorsque je clique n'importe où sur ma fenêtre...



    Merci d'avance pour votre aide

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    Un QTableWidget de base fait l'affaire non ? (tableau de texte éditable). Niveau style, tu fais ce que tu veux ensuite.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Par défaut
    En fait l'utilisateur ne doit pas pouvoir modifier le Label directement.

    Je m'explique : Je veux créer un système de gestion d'emploi du temps. La grille qui s'affiche est donc une grille qui correspond aux jours et aux heures de la semaine, un peu comme ça.

    Au clic-droit sur une case, un menu s'affiche. L'utilisateur peut supprimer/modifier le créneau déjà attribué à cette case s'il en existe déjà un, ou en ajouter un s'il n'y en a pas encore.
    Si on prend l'exemple de l'ajout d'un créneau, une boite de dialogue s'ouvre avec pas mal d'informations à entrer, et avec ceci je créer une instance de la classe "Créneau", avec notamment en paramètre les coordonnées de la case correspondante. J'appelle ensuite une méthode de la vue pour mettre à jour la grille. C'est donc cette méthode qui rempli les différents QLabel en fonction des infos sur le créneau correspondant.


    (j'édite mon premier post pour y ajouter ces détails car en relisant je me suis rendu compte que c'était pas clair)

Discussions similaires

  1. Sélection avec la souris dans le WebBrowser
    Par auguste19 dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 12/11/2013, 11h57
  2. Bug survol d'un menu contextuel avec la souris, dans IE
    Par Chekov dans le forum Silverlight
    Réponses: 2
    Dernier message: 28/01/2010, 09h46
  3. Réponses: 0
    Dernier message: 13/04/2009, 12h53
  4. Déplacement avec la souris dans un JScrollPane/JPanel
    Par deadstar62 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 27/04/2007, 17h10
  5. Selection avec la souris dans une zone de texte
    Par GESCOM2000 dans le forum IHM
    Réponses: 8
    Dernier message: 11/02/2006, 10h12

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