Eingaben abfangen

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Strippenzieher
User
Beiträge: 3
Registriert: Sonntag 9. November 2008, 12:06

Servus Leute!

ist es möglich eingaben aus einem editfeld abzufangen und die buchstaben in einem anderen alphabet auszugeben bzw. generell ein anderes alphabet bei der eingabe zu verwenden? z.b. so (griechisch): eingabe (auf keyboard) -> ausgabe (im editfeld)

l -> λ
p -> π
usw.

die string soll aber nicht erst nach der eingabe umgewandelt werden, sondern es sollen schon während der eingabe die griechischen lettern anstatt der lateinischen verwendet werden. (gibt es einen buchstaben auf der tastatur, nicht aber im zielalphabet soll er einfach ignoriert werden.)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Du kannst sicher den Key-Up Event abfangen, nachsehen was gedrückt wurde und dann einen anderen Buchstaben einfügen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Strippenzieher
User
Beiträge: 3
Registriert: Sonntag 9. November 2008, 12:06

Zuerst einmal, Vielen Dank Leonidas für deine Antwort!
ist ja schon n paar tage her, aber ich hatte leider keine Zeit früher zu antworten ...

jedenfalls: ich hab da ein neues problem, und zwar die konvertierung von python-unicode zu QString klappt nicht. QString nimmmt im Konstruktor/Zuweisung nur ascii-strings als Operanden. Die Funktionen die dazu in der C++ doku stehen sind toUcs4 (unicode) und fromUcs4, sie wurden in PyQt aber leider nicht übernommen, was kann man da machen?
BlackJack

@Strippenzieher: Also bei mir nimmt `QtString` problemlos `unicode`-Objekte entgegen. Wüsste auch nicht warum das nicht gehen sollte. Kann es sein, dass Du das gar nicht mit einem `unicode`-Objekt sondern mit einer Zeichenkette versuchst?
Strippenzieher
User
Beiträge: 3
Registriert: Sonntag 9. November 2008, 12:06

BlackJack hat geschrieben:@Strippenzieher: Also bei mir nimmt `QtString` problemlos `unicode`-Objekte entgegen. Wüsste auch nicht warum das nicht gehen sollte. Kann es sein, dass Du das gar nicht mit einem `unicode`-Objekt sondern mit einer Zeichenkette versuchst?
hab den fehler gefunden; er trat nicht im konstruktor sondern bei der ausgabe auf: ich hab' vergessen den QString mittels unicode(qs) wieder in eine für python lesbare zeichenkette umzuwandeln :?
Antworten