Bonjour, étant débutant Qt mon problème vous paraîtra très certainement ridicule mais il me bloque et je n'arrive pas à le résoudre malgré mes nombreuses recherches, je vous explique.
J'aimerais transmettre la valeur d'une variable string entre des slots lors de la pression d'un boutton.
Je vous montre ça sera plus facilement compréhensible
Mon projet a pour nom CourOCR :
Mon Healer nommé CourOCR.h contient simplement :
Mon main.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 #ifndef COUROCR_H #define COUROCR_H #include <QApplication> #include <QWidget> #include <QPushButton> #include <QMessageBox> #include <string> using namespace std; class CourOCR : public QWidget { Q_OBJECT public: CourOCR(); QPushButton *m_bouton; public slots: void reception(string message); }; #endif
et enfin mon CourOCR.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 #include <QApplication> #include "courocr.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); CourOCR fenetre; fenetre.show(); return app.exec(); }
Ici j'ai créé un projet très simple pour vous montrer ma problématique, le but serait que lors de la pression du boutton, la variable "message" envoie sa valeur dans le slot "reception" (ensuite ce slot ce chargera de vérifier la bonne valeur qui lui a été transmise).
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 #include "courocr.h" void CourOCR::reception(string message) { if (message == "salut"){ QMessageBox::critical(this, "test", " ok"); } else { QMessageBox::critical(this, "test", " pas ok"); } } CourOCR::CourOCR() : QWidget() { string message = "salut"; m_bouton = new QPushButton("Transmission", this); m_bouton->move(50, 50); // la prochaine ligne représente également mon problème QObject::connect(m_bouton, SIGNAL(pressed()), this, SLOT(reception(string))); }
Je ne sais pas si cela est compréhensible, n'hésitez surtout pas à me poser des questions si vous n'avez pas bien compris, je remercie tout ceux qui prendront le temps de lire ma problématique et encore plus à ceux qui y répondront.
Partager