[gelöst] Boolescher Ausdruck mit Unicode-Symbol

Alles rund um die Programmierung mit Qt
Antworten
shs
Beiträge: 24
Registriert: 13. Juli 2005 20:53
Wohnort: Köln

[gelöst] Boolescher Ausdruck mit Unicode-Symbol

Beitrag von shs »

Hallo!

Ich verwende in einigen Input-Widgets meiner Anwendung Unicode-Symbole, die in meiner Linux-Distribution im Schriftsatz "Standard Symbols L" zu finden sind. Unter Windows ist es der Font "MS Unicode 8", der die Symbole enthält, die ich brauche.

Wenn ich zum Beispiel den Font eines QTextEdit auf "Standard Symbols L" setze, dann werden mir die logischen Symbole (Negation, Konjunktion, Disjunktion) angezeigt. Dabei wird vom Qt-Designer beispielsweise für das Symbol der Negation der folgende Code generiert:

Code: Alles auswählen

textEdit->setText( trUtf8( "\xc2\xac" ) );
Und das Negation-Symbol ist sichtbar.

Mein Problem:
Ich suche einen booleschen Ausdruck, der - um bei diesem Beispiel zu bleiben - überprüft, ob es sich um das Negation-Symbol handelt. Also zum Beispiel:

Code: Alles auswählen

qDebug( (textEdit->text() == "¬") ? "gleich" : "ungleich" ) ); 
Dieser Ausdruck liefert allerdings "ungleich". Hat jemand einen Tipp, wie ich hier die Überprüfung auf Gleichheit (plattformübergreifend) vornehmen kann?

Danke im Voraus!
Zuletzt geändert von shs am 29. November 2005 16:22, insgesamt 1-mal geändert.
shs
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

xx= QTextedit
1234=Unicode Zeichencode des Zeichens.

Code: Alles auswählen

if(xx->text()==QString(QChar(0x1234)))
{
  qDebug()<<"gleich";
}
Oder was meinst du?
Wenn es kürzer seine soll, kannst du es auch mit QString::contains machen
shs
Beiträge: 24
Registriert: 13. Juli 2005 20:53
Wohnort: Köln

Beitrag von shs »

Danke, Bart!
Mit text.contains( QChar( 0x00AC )) konnte ich es lösen.
shs
Antworten