Netzwerk-Threads in PyQt5-Anwendungen

Parallele Anwendungen haben Tücken. Bei Netzwerkanfragen in grafischen Programmen mit PyQt5 kommt man um Threads jedoch kaum herum.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Netzwerk-Threads in PyQt5-Anwendungen

(Bild: Albert Hulm)

Lesezeit: 4 Min.
Inhaltsverzeichnis
Pina programmiert

Bei der Android-App zum Kalorien zählen "Lose It!" fragte ich mich zuletzt, ob sie ihre Daten auch wie beworben mit Google Fit synchronisiert.

Also schrieb ich mir ein Programm mit PyQt5, das Google Fit abfragt und alle Nahrungsmitteleinträge der letzten Woche anzeigt. Für den Zugriff auf das REST-API sind natürlich Netzwerkanfragen nötig und als brave Programmiererin wusste ich: Netzwerkanfragen sollten man nie im Haupt-Thread eines grafischen Programms absetzen, weil diese das Interface blockieren, bis die Antwort da ist.

Zum Glück bringt Python die Klasse Thread mit, mit der ich in ein paar Zeilen einen eigenen Thread für den Request definieren kann: