Bonjour à tous,
je débute avec Qt. Je voudrais avoir un QLCDNumber qui s'incrémente lorsque je clique dessus. Malheureusement, il n'y a pas de slot "clicked()" dans QLCDNumber. En fouillant à droite à gauche, je suis tomber toujours sur la même solution: surcharger QWidget::mouseReleaseButton(event* e).
Cependant je n'y parviens pas.
Comment dois-je procéder ?
Dois je créer un QWidget perso ?
J'ai bien essayé en créant une nouvelle classe héritant de QWidget et ayant un attribut pointeur sur QLCDNumber puis en surchargeant mouseReleaseButton mais il ne se passe rien lorsque je clique sur le QLCDNumber...
Un exemple serait le bien venu.
voici ce que j'ai tenté
mywidget.h
mywidget.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 #include "QWidget" #include "QLCDNumber" class MyQWidget : public QWidget { Q_OBJECT public: MyQWidget(QWidget* parent=0); protected: void mouseReleaseEvent(QMouseEvent*); public: QLCDNumber* lcd; };
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 #include "mywidget.h" #include "QDebug" MyWidget::MyWidget(QWidget *parent) : QWidget(parent) { lcd = new QLCDNumber(parent); } void MyWidget::mouseReleaseEvent(QMouseEvent *e) { qDebug("je suis bien dans le click"); if (e->button() == Qt::LeftButton) lcd->display(lcd->intValue()+1); }
Partager