IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Multithreading Discussion :

Threads et interface graphique


Sujet :

Multithreading

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Par défaut Threads et interface graphique
    Bonjour, je souhaite charger mes progressbar avec les threads .mais le chargement n'est pas faite, jai aucune erreur afficher .Pourriez vous me dire pourquoi jai pas de chargement?

    voici un extrain de ma classe myThread
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    class MyThread:public QThread
    {
            Q_OBJECT
     
    public:
        explicit MyThread();
      void run();
      bool Stop;
     
      signals:
                   void changeValue();
     
    };
    de ma 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    MyThread::MyThread() : QThread()
    {
     
    }
     
     
    void MyThread::run()
    {
        while(true)
        {
           QMutex mutex;
          mutex.lock();
     
           if(this->Stop) break;
     
          mutex.unlock();
     
          emit changeValue();
     
          QThread::sleep(1000);
        }
     
    }
    void MyThread::changeValue()
    {
     
    }
    et la class Widget.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
    class Qprogress : public QWidget
    {
        Q_OBJECT
     
        private:
     
          QPushButton * start;
          QPushButton    *stop;
          QProgressBar * bar;
          QProgressBar  *bar2;
     
          MyThread * thread;
     
          int etat;
     
    public:
     
          Qprogress(QWidget * parent = 0);
     
      public slots:
     
          void startThread();
          void valueChanged();
     
    };
    et widget.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
    27
    28
    29
    30
    31
    32
    33
    34
     
    Qprogress::Qprogress(QWidget * parent)
            : QWidget(parent)
    {
    .......................
    ........................;
     thread = new MyThread();
        etat = 1;
     
        ////////////////Positions des widgets//////////////////////////////
        QVBoxLayout         *Position   = new QVBoxLayout;
        Position->addWidget(bar);
        Position->addWidget(bar2);
        Position->addWidget(start);
     
     
     
        /////////////Connection///////////////////////////////////
        QObject::connect(start, SIGNAL(clicked()), this, SLOT(startThread()));
        QObject::connect(thread, SIGNAL(changeValue()), this, SLOT(valueChanged()));
     
     
        setLayout (Position);
    }
    void Qprogress::startThread()
    {
       thread->start();
    }
    void Qprogress::valueChanged()
    {
           etat++;
           bar->setValue(etat);
            bar2->setValue(etat);
    }

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 58
    Par défaut
    Le début de votre constructeur est omis, j'imagine par soucis de clarté. C'est peut être dans cette partie que ce situe le problème.
    Avez vous défini correctement les plages de valeur de vos QProgressBar ?
    setMinimum, setMaximum

    Dans le constructeur de MyThread je ne vois pas non plus l'initialisation de la variable Stop.

Discussions similaires

  1. Utilisation des threads et interface graphique
    Par cyberspy2999 dans le forum Débuter
    Réponses: 1
    Dernier message: 20/02/2011, 21h27
  2. Socket, Thread et interface graphique
    Par archer dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 07/01/2009, 00h48
  3. Thread et interface graphique
    Par archer dans le forum C#
    Réponses: 5
    Dernier message: 02/04/2008, 06h06
  4. Réponses: 1
    Dernier message: 01/02/2008, 12h59
  5. Interface graphique et thread
    Par freddyboy dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/06/2007, 15h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo