Quelqu'un peut m'expliquer ? Si j'ai bien compris clicked() c'est quand on clique sur le bouton. pushed(), c'est quand on reste appuyé ? Merci d'avance.
Quelqu'un peut m'expliquer ? Si j'ai bien compris clicked() c'est quand on clique sur le bouton. pushed(), c'est quand on reste appuyé ? Merci d'avance.
Bonjour,
Le signal pushed() n'existe pas, tu voulais plutôt parler de pressed() j'imagine ?
Il n'y a pas de notion de "rester appuyé" dans ce signal, juste d'appuyer sur le bouton, le signal clicked() vient par la suite lorsque l'on relâche l'appui tout en restant (ou revenant) dessus.
Tu peux observer les effets en exécutant ce code (C++11)
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 #include <QApplication> #include <QPushButton> #include <QDebug> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton bouton("Hello World !"); QObject::connect( &bouton, &QAbstractButton::clicked, []() { qDebug() << "clicked"; }); QObject::connect( &bouton, &QAbstractButton::released, []() { qDebug() << "released"; }); QObject::connect( &bouton, &QAbstractButton::pressed, []() { qDebug() << "pressed"; }); bouton.show(); return app.exec(); }
Effectivement c'est bien pressed() (combien de fois mes connections ne fonctionne pas parce que je met pushed()...).
Par contre ton code ne fonctionne pas chez moi (pourtant il me semble bien être en C++11), du coup j'en ai fait un moi-même et maintenant je comprends. (j'aurais dû penser plus tôt à faire ce code, baka).
Bref, merci quand même d'avoir pris de ton temps pour répondre à ma question !
Partager