Partage
  • Partager sur Facebook
  • Partager sur Twitter

Changer automatiquement la valeur d'une barre QProgressBar

    11 juin 2008 à 11:03:36

    Salut, j'aimerai créer avec Qt un Widget avec une barre de progression qui progresse toute seule à raison d'1% par seconde.
    J'utilise donc QProgressBar avec la méthode valueChanged() et un compte à rebours tout simple en C mais, le problème est que valueChanged() ne prend que les int et pas les variables de type int.
    Voici mon code :
    #include "header.h"
    
    MyWindow::MyWindow() : QWidget()
    {
    	QWidget window;
    	window.setFixedSize(100,50);
    	QProgressBar *barre = new QProgressBar;
    	int temps = 100;
    	while (temps>0)
    	{
    		sleep(10);
    		temps--;
    	barre->setChangedValue(int temps);
    	}
    }
    

    Ce fichier étant inclut dans un programme beaucoup plus volumineux qui marche donc qui est inutile de poster.

    Donc comment faire incrémenter de 1% par seconde une barre de progression de 100% automatiquement sous Qt ?

    Merci.
    • Partager sur Facebook
    • Partager sur Twitter
      11 juin 2008 à 11:35:29

      regarde dans la doc, au niveau des QTimer!

      Un QTimer, est initialisé avec une valeur en milisecondes. Dès que le temps est écoulé, le QTimer envoie un SIGNAL!

      Après, pour faire en sorte que la valeur augmente, il faut surement créé un slot personnalisé, qui récupere la valeure courante de la QProgressBar, qui lui ajoute 1!

      Et voilà, j'espère t'avoir répondu clairement!
      • Partager sur Facebook
      • Partager sur Twitter
        11 juin 2008 à 21:48:06

        J'ai compris comment fonctionnait QTimer mais je ne comprend pas la suggestion que tu me fais.
        Est-ce que tu pourrais me montrer un exemple théorique ?
        Merci.
        • Partager sur Facebook
        • Partager sur Twitter
          11 juin 2008 à 23:27:46

          Salut, tu créé un signal qui émet une valeur int et tu connect ce signal avec le slot de la progressbar.
          Attention si ton traitement est long, il est surement préférable d'utiiser une thread. Sinon t'aura surement ton ihm qui freeze
          • Partager sur Facebook
          • Partager sur Twitter

          Changer automatiquement la valeur d'une barre QProgressBar

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown