2017-05-20 1 views
1

Je suis relativement nouveau à PyQt5 et j'apprécierais toute direction pour atteindre ce qui suit s'il vous plaît.Mise à jour de la barre de progression PyQt basée sur la sortie stdout imprimée du paquet importé (PyQt5)

Je suis en train de créer une interface graphique pour travailler au-dessus d'un paquet Python qui exécute divers outils de traitement lents. L'interface actuelle est purement textuelle: le paquet exécute du code dans une boucle et imprime le pourcentage de progression actuel au terminal.

Mon but est de construire une interface graphique PyQt qui affiche cette progression comme une barre de progression à la place. Cela pourrait être fait simplement en utilisant QProgressBar.setValue() si je pouvais ajouter cet appel au code de traitement d'origine, mais ce n'est pas possible; à la place, mon interface graphique doit être construite au-dessus de l'interface de sortie de texte en cours à partir du code de traitement. Je pense que cela devrait être possible en utilisant un thread, mais je ne sais pas comment intercepter l'appel à stdout sans entraver les performances/introduire des opérations dangereuses.

Est-ce possible? Toutes les suggestions seraient super merci.

Répondre