Bonjour tout le monde.
je travaille sur une application embarqué. ma formation est orineté systèmes et mon projet contient une partie purement C++ (Qt embedde).
donc j aurrai besoin de votre aide sur un point qui me bloque enormement.
je veux detecter l appuie sur des touches bien defeni pour changer un parametre que je l'utilise dans une autre classe.
donc j ai essayé de lire les doc de Qt mais en vain voila un petit essai que j l ai fait mais il m donne tonne d'erreur:
fichier .h:
******************
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 #ifdefine CLAV_H #define CLAV_H #include <QtGui> #include<iostream> using namespace std; class QQWidget; class QKeyEvent; class Exemple: public QQWidget { Q_OBJECT public: int a; Exemple(QWidget* parent = 0); public slots: virtual void keyPressEvent(QKeyEvent * event); void update(); signals: void keyPress(QKeyEvent *); void timeout(); } #endif
fichier .cpp
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
40
41
42
43
44
45
46
47
48 #include "clav.h" //#include<QLabel> extern QWidget w; Exemple::Exemple(QWidget *parent):QQWidget(parent) { QTimer *timer = new QTimer(this); QObject::connect(timer, SIGNAL(timeout()), this, SLOT(update())); timer->start(1000); connect(parent, SIGNAL(keyPress(QKeyEvent*)), SLOT(keyPressEvent(QKeyEvent*))); //e = new Exemple(this); } void Exemple::keyPressEvent(QKeyEvent * event) { //QQWidget::keyPressEvent ( event ); switch (event->key()) { case Qt::Key_M: a=1; break; case Qt::Key_L: a=2; break; } QQWidget::keyPressEvent ( event ); emit keyPress(event); } void Exemple::update() { cout >> a; //emit keyPressed(event); } int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget w; Exemple exemple(&w); w.show(); return app.exec(); }
Partager