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 : 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
 
#!/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_())