Lesen an der seriellen Schnittstelle

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
kitebuggy
User
Beiträge: 29
Registriert: Donnerstag 5. August 2021, 21:11

Hallo

Das Lesen an der seriellen Schnittstelle mittels readAll() oder readLine() gibt mir einen QBytearray zurück, welches kodiert ist.
Diei gelesene Zeile lautet:
b'<* LCD2:Power Off *>\n'
aber ich möchte nur einen string:
'<* LCD2:Power Off *>'
zurück.

Hier mein Code::

Code: Alles auswählen

data=str(self.serial.readLine()).strip()
Dabei ist mir klar, dass das nicht funktionieren kann, da nur das Ganze zu einem string gewandelt wird, aber nicht dekodiert wird. Einen .decode() gibt's nicht.
Kann mir bitte jemand weiterhelfen??
Sirius3
User
Beiträge: 17759
Registriert: Sonntag 21. Oktober 2012, 17:20

Raten bringt einen eher selten weiter. Die Dokumentation verrät, dass QBytearray eine data-Methode habt.

Code: Alles auswählen

data = self.serial.readLine().data().decode()
kitebuggy
User
Beiträge: 29
Registriert: Donnerstag 5. August 2021, 21:11

Ich hab's: Die Zeile lautet:

Code: Alles auswählen

data=self.serial.readLine().data().decode("utf-8")
kitebuggy
User
Beiträge: 29
Registriert: Donnerstag 5. August 2021, 21:11

Hallo Sirius3

Habe deine Antwort erst jetzt realisiert. Da hat das Universum uns beiden quasi gleichzeitig einen Geistesblitz geschickt :-) .
Vielen Dank:

P.S. Wie markiere ich hier im Forum, dass eine Lösung gefunden wurde? In anderen Foren schreibe ich [gelöst] hinter den Betreff und wird auch so im ersten Post markiert.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Eine Funktion dafür gibts hier nicht, ist in meinen Augen auch nicht so richtig wichtig.
kitebuggy
User
Beiträge: 29
Registriert: Donnerstag 5. August 2021, 21:11

Ok. Könnte aber nützlich bei einer Suche sein, da man somit nicht gelöste Beiträge überspringen kann.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das unterstellt Leute suchen und lesen - den Eindruck habe ich nicht 😬

Letztlich muss man Themen suchen, lesen, und einordnen. Dieses kleine boolsche Flag (und das zusätzlichen “markier dein Thema als gelöst”-Sherrifttum, dass sich dann entwickelt) ist da IMHO nicht signifikant.
Benutzeravatar
grubenfox
User
Beiträge: 433
Registriert: Freitag 2. Dezember 2022, 15:49

kitebuggy hat geschrieben: Montag 13. Februar 2023, 13:24 Ok. Könnte aber nützlich bei einer Suche sein, da man somit nicht gelöste Beiträge überspringen kann.
bzw. man könnte die gelösten Diskussionen überspringen und sich auf die noch offenen Fragen konzentrieren.
Aber eigentlich suche ich auch nur ganz selten. Meisten lese ich alles was mir als "noch nicht gelesen" gemeldet wird.
Antworten