[gelöst] QTextEdit/QLineEdit griechische Zeichen eingeben
[gelöst] QTextEdit/QLineEdit griechische Zeichen eingeben
Hallo,
Besteht die Möglichkeit für ein einzelnes QTextEdit/QLineEdit die Tastatureingabe auf griechische Zeichen umzuschalten ?
Gruß Sig
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.
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.
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 ?
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 ?
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:Also muss ich doch irgendwo die von der Tastatur kommenden Codes einmal als griechische Zeichen interpretieren und einmal als römische Zeichen.
Das musst Du selbst machen. keyPressEvent überschreiben und eine griechische Mapping-Table rein.sigvdr hat geschrieben:Geht das mit den Hausmitteln von QT , oder muss ich dazu die Tastaturcodes vor dem QTextEdit abfangen und selbst umsetzen ?
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.
Ich habe keine griechische Tastatur! Das soll mit einer ganz normalen deutschen Tastatur laufen.Häng doch bitte mal deine Griechische Tastatur an deinen Rechner
Beispiele der Umsetzung:
Code: Alles auswählen
m -> µ
g -> γ
r -> ρ
Das soll halt nicht Systemweit umgestellt werden sondern nur für ein einziges QTextEdit.Das macht normalerweise das System, denn dem kannst Du sagen welches Tastaturlayout genommen werden soll.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
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
'Funktioniert nicht' ist keine Fehlerbeschreibung
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.
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...
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?
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...
Wenn ich in einen LineEdit bei mir diese LineEdit auf Font "Symbol" setze... dann passiert doch genau das....oder etwa nicht?Ich habe keine griechische Tastatur! Das soll mit einer ganz normalen deutschen Tastatur laufen.
Beispiele der Umsetzung: Code:
m -> µ
g -> γ
r -> ρ
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:
Er möchte über eine von sich aus festgelegten Shortcut ein Zeichen basteln - so zumindest habe ich das verstanden.macman hat geschrieben:Was soll das denn bringen? Die Fonts enthalten doch schon die griechischen Zeichen, da muss man nichts umstellen.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
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.
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....Das soll halt nicht Systemweit umgestellt werden sondern nur für ein einziges QTextEdit.
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.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?
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
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.