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

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);
   }
}
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
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
Merci infiniment pour votre aide