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 :

Connexion d'un raccourci clavier à une SLOT


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut Connexion d'un raccourci clavier à une SLOT
    Salut,

    J'aimerai connecter une touche de mon clavier à une SLOT.
    J'ai essayé de ajouter une QAction à une de mes QToolBar, par la suite attribuer un raccourci à QAction et cacher QAction puisque je ne veux pas que l'utilisateur voit l'action.
    voici à qui ressemble le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	QAction *previousSlide = new QAction(this->Implementation->UI.PowerViewMainToolbar);
    	this->Implementation->UI.PowerViewMainToolbar->addAction(previousSlide);
    	previousSlide->setVisible(false);
    	previousSlide->setShortcut(QKeySequence(Qt::Key_Up));
    Le shortcut ne fonctionne que si je commente la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    previousSlide->setVisible(false);
    Ce qui veut dire que cacher l'action désactive son raccourci.
    Comment résoudre ce problème ?

    Merci

  2. #2
    Membre expérimenté Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    Salut, je pense que tu trouveras des éléments de réponse en recherchant keypressevent sur ce forum

    utilisation du clavier avec une touche speciale

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut
    Citation Envoyé par MacPro Voir le message
    Salut, je pense que tu trouveras des éléments de réponse en recherchant keypressevent sur ce forum

    utilisation du clavier avec une touche speciale
    Salut,
    keypressevent est une solution mais trop longue pour quelqu'un qui n'a pas dejà surchargé la classe QToolBar pour créer sa toolbar.

    J'ai fini par trouvé que la classe QShortcut possède des signals.
    donc il suffit de faire ceci dans mon cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     QShortcut *keyUp= new QShortcut(Qt::Key_Up)
     QObject::connect(keyUp, SIGNAL(activated()),
        this, SLOT(uneSlot()));

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affecter un raccourci clavier à une macro
    Par defluc dans le forum VBA Word
    Réponses: 3
    Dernier message: 07/09/2014, 22h41
  2. [LibreOffice] Affecter un raccourci clavier à une macro
    Par seremei dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 25/03/2013, 11h19
  3. [JTable] Raccourci clavier sur une Table
    Par sylvain_2020 dans le forum Composants
    Réponses: 5
    Dernier message: 05/07/2007, 09h01
  4. [BPW]Raccourcis clavier dans une fenêtre enfant
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 18/02/2004, 20h07
  5. [] Raccourci clavier pour bouton d'une barre d'outil
    Par Sébastien dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 24/03/2003, 17h02

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