Hallo liebes Forum,
seit Tagen arbeite ich mich etwas in PiQt5 ein.
Das unterscheidet sich doch etwas zur gewohnten Script Programmierung.
Nun stehe ich vor zwei, sagen wir hartnäckigen Herrausvorderungen.
Zum ersten habe ich einen Corde der eine Bluetooth Verbindung aufbaut.
Die Erwartung wäre:
Button click -> Im Textbrowser wird ausgegeben "Warten.....Verbindung wird aufgebaut" -> GUI Wartet -> Wenn die Funktion durchgelaufen ist-> im Textbrowser wird ausgegeben "Bluetooth Verbunden"
Das ist mein derzeitiger Code:
def Bluetoot_Verbinden(self):
self.Text_List("Warten........Bluetooth wird verbunden")
OBD_Modul.Bluetooth_Verbinden()
self.Text_List("Bluetooth Verbunden")
Ergebnis: Es wird das Modul gestartet und de BT Verbindung aufgebaut.
GUI freezed aber alles was dann geklickt wird, wird nach Abschluss der .sh hintereinander ausgeführt.
Nach beendigung der .sh werden beide Text_List gleichzeitig ausgegeben.
Bei dem Start der OBD Verbindung ähnlich.
Das Modul benötigt 30 Sekunden für die Verbindung und gibt dann die Verbindungsinfos die zur weiteren Kommunication benötigt werden zurück.
Wenn ich das Modul per Button click Aufrufe startet das Modul, wartet aber nicht sonder gibt nur den aktuellen Status "Wird Verbunden" zurück.
def Verbindung_Aufbauen(self):
global connection
connection = Modul.Verbindung_Aufbauen
sconnection = str(connection)
self.Text_List(sconnection)
Hier bekomme ich nur:
Sprich er startet zwar das Modul wartet aber nicht bis es abgearbeitet ist sondern gibt nur den Status das er das Verbinden gestartet hat aus.
Kann ich der GUI sagen das es warten soll bis das Modul abgearbeitet ist?
Vielen Dank schon einmal