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 Discussion :

Utilisation de la commande QKeyEvent sur un projet QMainWindows


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Auto-didacte lycéen
    Inscrit en
    Avril 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auto-didacte lycéen

    Informations forums :
    Inscription : Avril 2017
    Messages : 5
    Par défaut Utilisation de la commande QKeyEvent sur un projet QMainWindows
    Bonjour, je viens de débuter avec Qt, je me suis donc lancée un petit projet :

    Je suis actuellement bloquée pour récupérer les touches de mon claviers, j'ai donc fait des petites recherches j'ai trouver le même code un peu partout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void MainWindow::pressTouch(QKeyEvent *event)
    {
        if (event->key() == Qt::Key_A)
        {
        }
        else
        {
        }
    }
    Une fois cette fonction créer je suis confrontée à un problème :
    Je n'arrive pas à l'appeler dans mon application : Si je l'appelle dans le constructeur de ma classe QMainWindows, je n'arrive pas à trouver comment l'appeler
    J'ai donc tenter de la faire passer en tant que SLOT combinée à un QTimer pour appeler ma fonction toute les 16 milisecondes mais la touche n'était pas reconnus.

    Je vous avoue que je n'ai pas trouver de solution, si il pourrait il avoir quelqu'un pour m'aiguillier ce serais sympas, de plus j'ai vu comment appeler
    un KeyEvent je n'ai pas bien compris dans la documentation si quelqu'un pourrait me montrer un exemple ce serais très sympathique.

    Voilà, merci de m'avoir lu et passer une bonne journée

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    De manière générale, tu devrais redéfinir la fonction keyPressEvent(KeyEvent * event) et non une éventuelle fonction pressTouch car c'est bel et bien la fonction keyPressEvent(KeyEvent * event) qui sera appelée de manière systématique.

    Il faut cependant aussi prendre soin à refaire appel à l'implementation de base de keyPressEvent(KeyEvent * event) si l'événement n'est pas pris en compte, de manière à t'assurer qu'il sera correctement retransmis aux autre éléments, sous une forme proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void MainWindow::keyPressEvent(KeyEvent * event){
        if(someCondition){ // à toi de définir la condition à respecter
            // à toi de définir ce qui doit être fait si la condition est respectée
        }else{
            QMainWindow::keyPressEvent(event); // on appelle l'implémentation de base de la fonction pour 
                                               // permettre la propagation de l'événement
        }
    }
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. Probleme d'utilisation de la commande glob sur un montage NFS
    Par hfrass dans le forum Programmation et administration système
    Réponses: 9
    Dernier message: 10/06/2015, 14h29
  2. Réponses: 20
    Dernier message: 08/11/2012, 10h17
  3. Réponses: 0
    Dernier message: 10/05/2010, 15h05
  4. [XL-2003] Utiliser la commande "OnDoubleClick" sur quelques cellules
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/06/2009, 01h37
  5. [Visual SourceSafe] Arguments pour/contre son utilisation sur un projet Java
    Par elitost dans le forum SCM
    Réponses: 6
    Dernier message: 03/12/2008, 21h58

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