faire apparaître un progressBar
Bonjour,
Voici mon problème, je veux afficher une fenêtre composée d'un progressBar lors d'un téléchargement de fichier.
Mais la fenêtre ne s'affiche qu'une fois le téléchargement terminé, donc pas grand intérêt.
Voici un bout de code qui représente mon problème, j'ai simulé le téléchargement par une pause avec le "time"
je fais apparaître le progressBar avant le time, il n’apparaît qu'une fois les 5 secondes passées ?
Que se passe t'il ?
si quelqu'un pouvait m'expliquer.
Merci de votre retour
Code:
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
|
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Python 3.4
import os, sys, time
from PyQt5 import (QtWidgets, QtGui, QtCore)
class Feuille( QtWidgets.QWidget) :
def __init__(self, parent = None) :
super().__init__( parent)
self.setObjectName("Feuille")
self.parent = parent
self.bouton = QtWidgets.QPushButton("Lancer")
self.bouton.setObjectName("Feuille bouton")
self.bouton.clicked.connect(self.lancer)
#progress bar
self.progressBar = QtWidgets.QProgressBar()
self.progressBar.setObjectName("Feuille progressBar")
self.layout = QtWidgets.QVBoxLayout()
self.layout.setObjectName("Feuille layout")
self.layout.addWidget(self.bouton)
self.setLayout(self.layout)
def lancer(self):
self.layout.addWidget(self.progressBar)
self.progressBar.setTextVisible(False)
self.progressBar.setMinimum(0)
self.progressBar.setMaximum(0)
self.progressBar.show()
time.sleep(5) # pause 5 seconds
if __name__ == "__main__":
app = QtWidgets.QApplication (sys.argv)
fp = Feuille()
fp.show()
sys.exit(app.exec_()) |