PyQT - QString/QLineEdit Problem

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Relyf

Hi,
ich habe ein großes Problem mit dem Umwandlen von QStrings in normale Python Strings. Wenn ich die Funktion text() von QLineEdit und anschließend ascii() von QString aufrufe kommen immer andere Ergebnisse (bei Umlauten) raus, als wenn ich einen QString aus einem Python String erstelle und den anschließend mit ascii() wieder in einen Python String umwandle.

qTitle ist ein QLineEdit

Code: Alles auswählen

self.qTitle.insert("Die Verschwörung")
x = QString("Die Verschwörung")
self.qTitle.text().ascii() != x.ascii()
self.qTitle.text().ascii() -> ergibt: 'Die Verschw�ung'
x.ascii() -> ergibt: 'Die Verschwörung'

Als Ergebnis würd ich das von x.ascii() brauchen, weiß jemand wie den Text aus der QLineEdit richtig umwandeln kann?

Edit (Leonidas): Code in Python-Tags gesetzt.
ProgChild
User
Beiträge: 210
Registriert: Samstag 9. April 2005, 10:58
Kontaktdaten:

Das sieht so aus, als wäre der String im qTitle, nach Unicode convertiert worden. Du musst ihn vorm anzeigen in deinen lokalen Zeichensatz convertieren oder deinen script auf Unicode umstellen.

Andere Möglichkeit dein script benutzt Unicode un QT kanns nicht.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

ProgChild hat geschrieben:Andere Möglichkeit dein script benutzt Unicode un QT kanns nicht.
Unwarscheinlich, da QT nicht mal eben irgendein schnell hingehacktes Toolkit ist, sondern dahinter eine Menge Entwicklungsarbeit steht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ProgChild
User
Beiträge: 210
Registriert: Samstag 9. April 2005, 10:58
Kontaktdaten:

Leonidas hat geschrieben:
ProgChild hat geschrieben:Andere Möglichkeit dein script benutzt Unicode un QT kanns nicht.
Unwarscheinlich, da QT nicht mal eben irgendein schnell hingehacktes Toolkit ist, sondern dahinter eine Menge Entwicklungsarbeit steht.
Das muss nix heißen, aber laut www.golem.de benutzt QT Unicode...
Antworten