Bonjour a tous, je fais appelle a vous car je rencontre de grosse difficulté concernant la gestion des evenements.
Je n'ai commencé qu'a travaillé dessus que depuis hier, je suis donc un grand debutant.
J'ai chercher des tutoriels qui explique le fonctionnement de la gestion des evenements mais je n'ai rien trouver, c'est pourquoi je me tourne vers vous.
J'ai compris le principe de la gestion des evenements mais je n'ai absolument rien compris à cette histoire de focus (j'ai juste compris que sa servait a faire en sorte qu'un widget soit le widget courant, mais je vois pas a quoi sa sert).
J'ai egalement lu sur des forums qu'il fallait egalement utiliser les methode accpet() et ignore (la aussi je ne comprend pas pourquoi et surtout a quoi sa sert).
J'ai lu la doc du site officiel de Qt mais je ne comprend que partiellement les explications.
Alors pour essayer de comprendre j'ai fait un petit programme pour laquel lorsqu"on appuye sur la fleche directionnelle droite, le curseur du slider se place a la position 99.
Voici le code :
et comme je ne comprend rien a la gestion des evenements, forcement le code ne fonctionne pas non plus.
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 void UnClient::keyPressEvent(QKeyEvent* event) { horizontalSliderClient->setFocus(); if (event->key() == Qt::Key_Right) { horizontalSliderClient->setSliderPosition(99); QMessageBox::information(this, "", "on appuye sur la touche -->"); } else if (event->key() == Qt::Key_Escape) { QMessageBox::information(this, "", "on appuye sur la touche Esc"); close(); } }
J'aimerai donc que vous m'explquiez ce qu'est cette histoire de focus et de méthodes accept() et ignore() a utiliser afin que je puisse faire fonctionner cette evenement parce que je tourne en rond malgré mes recherches.
PS : merci de votre patience et des explications que vous m'apporterez.
PS2 : le probleme peut vous paraitre ridicule mais bon je n'y arrive pas
Partager