[gelöst] QTextEdit/QLineEdit griechische Zeichen eingeben

Alles rund um die Programmierung mit Qt
sigvdr
Beiträge: 100
Registriert: 1. Juli 2008 19:29

[gelöst] QTextEdit/QLineEdit griechische Zeichen eingeben

Beitrag von sigvdr »

Hallo,

Besteht die Möglichkeit für ein einzelnes QTextEdit/QLineEdit die Tastatureingabe auf griechische Zeichen umzuschalten ?


Gruß Sig
Zuletzt geändert von sigvdr am 26. November 2008 23:34, insgesamt 1-mal geändert.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Die Zeichen kommen von deiner Tastatur. Qt ist das ziemlich egal, da Unicode verwendet wird und griechische Zeichen da enthalten sind. Frage ist also, wie sagst Du es deiner Tastatur, das in dem Editfeld ein anderes Tastaturlayout genutzt werden soll? :-)
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
sigvdr
Beiträge: 100
Registriert: 1. Juli 2008 19:29

Beitrag von sigvdr »

Wow das war eine hochqualifizierte Antwort! :idea:
Wenn manch einer seine Programme genauso schlampig schreibt, wie seine Antworten hier
Die Zeichen kommen von deiner Tastatur.

Stimmt nicht! Da kommen nur die Binärcodes die ( von Software ) in die Zeichen umgesetzt werden.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Deine Frage ist auch etwas unverständlich. Warum willst du etwas umschalten? Wenn du ein griechisches Zeichen über deine Tastatur eingibst, was steht dann in deinem QLineEdit?
sigvdr
Beiträge: 100
Registriert: 1. Juli 2008 19:29

Beitrag von sigvdr »

Stell dir vor du hast 2 x QTextEdit und du willst in das erste einen griechischen Text ( mit griechischen Schriftzeichen ) eingeben und in das zweite einen deutschen Text.

Also muss ich doch irgendwo die von der Tastatur kommenden Codes einmal als griechische Zeichen interpretieren und einmal als römische Zeichen.

Geht das mit den Hausmitteln von QT , oder muss ich dazu die Tastaturcodes vor dem QTextEdit abfangen und selbst umsetzen ?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ah ja... Häng doch bitte mal deine Griechische Tastatur an deinen Rechner und teil uns bitte mit, was dann in deinem QLineEdit erscheint. Römische Zeichen dürften nie Probleme machen, die sind vollständig im ASCII-Zeichensatz enthalten.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

sigvdr hat geschrieben:Also muss ich doch irgendwo die von der Tastatur kommenden Codes einmal als griechische Zeichen interpretieren und einmal als römische Zeichen.
Das macht normalerweise das System, denn dem kannst Du sagen welches Tastaturlayout genommen werden soll. Das wandelt dann die Keycodes in die entsprechenden Zeichen.
sigvdr hat geschrieben:Geht das mit den Hausmitteln von QT , oder muss ich dazu die Tastaturcodes vor dem QTextEdit abfangen und selbst umsetzen ?
Das musst Du selbst machen. keyPressEvent überschreiben und eine griechische Mapping-Table rein.

BTW, wenn Du eine Zeitung liest oder ein Buch, hast Du da jemals Leerzeichen vor einem Satzzeichen gesehen? Machst Du vor den Punkten dich auch nicht. Warum also vor Komma und Fragezeichen. Ich habe hier mal wieder ein allein stehendes Fragezeichen am Anfang eine Zeile. Du bist also nicht alleine mit diesem Fehler.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
sigvdr
Beiträge: 100
Registriert: 1. Juli 2008 19:29

Beitrag von sigvdr »

Häng doch bitte mal deine Griechische Tastatur an deinen Rechner
Ich habe keine griechische Tastatur! Das soll mit einer ganz normalen deutschen Tastatur laufen.

Beispiele der Umsetzung:

Code: Alles auswählen

m -> µ
g -> γ
r -> ρ
Das macht normalerweise das System, denn dem kannst Du sagen welches Tastaturlayout genommen werden soll.
Das soll halt nicht Systemweit umgestellt werden sondern nur für ein einziges QTextEdit.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Wie meine Vorredner schon geschrieben haben - die ganzen Keycodes kommen vom System. Was Du versuchen kannst, ist das keyEvent zu überschreiben, die Codes selbst auszuwerten und das entsprechende Zeichen dann in dein TextEdit einzufügen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

was wäre wenn er den Font für das LineEdit auf Symbol stellt? Dann werden die Zeichen immerhin so dargestellt. Weiß leider net für was es genau brauchst...damit weiterarbeiten wird dann die andere Sache...
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Was soll das denn bringen? Die Fonts enthalten doch schon die griechischen Zeichen, da muss man nichts umstellen.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Er will doch griechische Buchstaben eingeben.... so stelle ich die Schrift auf "Symbol" so wird anstelle eines a ein >alpha< getippt oder?
Auf/an der Tastatur änder t sich dadurch nix, Ist aber glaube ich ein besserer Vorschlag als ne griechische Tastatur an den Rechner zu hängen... :lol:
Ich habe keine griechische Tastatur! Das soll mit einer ganz normalen deutschen Tastatur laufen.

Beispiele der Umsetzung: Code:

m -> µ
g -> γ
r -> ρ
Wenn ich in einen LineEdit bei mir diese LineEdit auf Font "Symbol" setze... dann passiert doch genau das....oder etwa nicht?
Wenn ich das wieder in einen Datei schreibe das es dann wieder was ganz anderes ist ist mir auch klar.... aber darum ging es ja bisher nicht, oder?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

macman hat geschrieben:Was soll das denn bringen? Die Fonts enthalten doch schon die griechischen Zeichen, da muss man nichts umstellen.
Er möchte über eine von sich aus festgelegten Shortcut ein Zeichen basteln - so zumindest habe ich das verstanden.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

hmmm würde ich grad anders sehen. denn das was er weiter oben geschrieben hat m ==> µ ist ja nur die griechische Darstellung des jew. Buchstabens.
Das soll halt nicht Systemweit umgestellt werden sondern nur für ein einziges QTextEdit.
Aber evtl sollte er uns erklären was er genau braucht/vor hat. Wenn er´s nur Anzeigen will sollte mein Vorschlag klappen. wenn er das ganze in ne Datei schreiben will muss was anderes her....
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

AuE hat geschrieben:Er will doch griechische Buchstaben eingeben.... so stelle ich die Schrift auf "Symbol" so wird anstelle eines a ein >alpha< getippt oder?
Nein. Wenn Du ein a tippst, dann kommt ein a ins Editfeld, genauer ein Zeichen mit dem Code 97. Der Font bestimmt nur welches Zeichen an der 97. Stelle ist.

Damit ein Alpha da steht, gibt es je nach BS verschiedene Möglichkeiten.
http://de.wikipedia.org/wiki/Unicode#Eingabemethoden
Und gleich noch die entsprechende Tabelle dazu.
http://www.utf8-zeichentabelle.de/

Diese Eingabemethoden wären im gewünschten Fall unbrauchbar, wer hat schon die ganzen Nummern im Kopf, deshalb muss über einen keyEvent ein a in ein alpha umgewandelt werden, also statt 97 muss 52913 ausgegeben werden. Das muss von Hand gemacht werden, ist halt etwas Arbeit :-) Eventuell reicht es ja auf jede Nummer 52816 zu addieren. Wenn dann ein passender Font eingestellt ist, wird auch das korrekte Zeichen angezeigt.

So würde ich es machen.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Antworten