Bonjour,
j'ai actuellement un soucis avec mon code (python3.6 / PyQt5.10) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
 
window = QtWidgets.QDialog(self.main_window, modal=True, objectName="window", flags=QtCore.Qt.FramelessWindowHint)
download_bar = QtWidgets.QProgressBar(window, minimum=0, maximum=100)
download_bar.resize(500, 50)
 
urllib.request.urlretrieve("https://www.dropbox.com/s/t40pibafvq5s2rt/updater.exe?dl=1", "updater.exe", lambda block_num, block_size, total_size: download_bar.setValue(block_num * block_size / total_size))
 
window.exec_()
os.startfile("updater.exe")
Le problème c'est que je suis dans la boucle de urllib.request.urlretrieve.

J'ai bien peur qu'il fasse alourdir le code avec un QThread, signal et compagnie .. pour juste un dl de fichier..
Du coup est-ce qu'il est possible de faire ça sans passer par les QThreads ? je suis convaincu qu'il y à une solution plus simple vus la richesse de Qt, mais les recherches Google sont infructueuses :'(

Edit Bien sur l'updater ne sera pas dl chaque fois, je ferais un truc du genre comparaison avec du SHA ou MD5.