Bonjour,
je rencontre actuellement un problème avec mon programme. Mon programme se connecte à un serveur, récupère une page Pour le moment, il marche très bien. Mais ce que j'aimerais, c'est qu'il se màj seul, sans que j'ai besoin d'appuyer sur "actualiser".
J'ai crut comprendre qu'il fallait créer une nouvelle classe : ce que j'ai fait; Mais le problème c'est que je n'arrive pas à lancer ma méthode dans la classe mère (j'ai encore un peu de mal avec les notions d'héritages en C++ ...)
Voici mon code :
MyThread.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
25
26
27
28
29 #ifndef MYTHREAD_H #define MYTHREAD_H #include <QApplication> #include <QtGUI> #include <QThread> #include <unistd.h> #include "FenPrincipale.h" class MyThread : public QThread { Q_OBJECT public: MyThread(); public slots : void run(); signals : void valueChanged(int i); void complete(); public : int i; }; #endif
MyThread.cpp
Et mon fichier FenPrincipal.h (je pense que le .cpp est inutil)
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 #include "MyThread.h" MyThread::MyThread() { } void MyThread::run() { while(1) { FenPrincipale::rechargerInfos(); sleep(60); } }
Merci infiniment pour votre aide
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 #ifndef HEADER_FENPRINCIPALE #define HEADER_FENPRINCIPALE #include <QApplication> #include <QtGui> #include <QtNetwork> #include <QNetworkReply> #include <QNetworkRequest> #include <QNetworkAccessManager> #include <QEventLoop> #include <QSystemTrayIcon> #include <string> #include <iostream> #include <unistd.h> class FenPrincipale : public QMainWindow { Q_OBJECT public: FenPrincipale(); private: void creerMenus(); void actions(); void creerBarresOutils(); void creationSousFenetre(); void creationBarreEtat(); QString retourneAfficher(); void telechargement(QString ip); void info(); private slots: void rechargerInfos(); void enregistrer_papier(); void enregistrer_conso(); void messageErreur(QNetworkReply::NetworkError); void analyseFichier(QString ip); signals: void fichierRecOk(QString ip); private: QAction *actionQuitter; QAction *actionActualiser; QProgressBar *progression; QStatusBar *barreEtat; QString nomFichier; //sous-fenêtre QWidget *zone1; QWidget *zone2; QWidget *zone3; QWidget *zone4; QWidget *zone5; QWidget *zone6; //label QLabel *labelZone1; QLabel *labelZone2; QLabel *labelZone3; QLabel *labelZone4; QLabel *labelZone5; QLabel *labelZone6; }; #endif![]()
Partager