Hallo Forum,
ich verwende die Komponente QLineEdit, um den Namen einer Anlage einzugeben.
Beispielsweise kann eine Anlage "Blockheizkraftwerk" heißen. Dabei möchte ich aber
nur die Zahlen 0-9 sowie die Buchstaben A-Z und a-z zulassen. Sonderzeichen einschließlich
üÜ, äÄ, ß und öÖ sollen nicht zulässig sein. Mit der Beschreibung der Methode setInputMask("NNNN")
bekomme ich das nicht ganz hin, da die Sonderzeichen ä,ö... weiterhin zulässig sind.
...ich verwende QT-4.6.3 .
Kann mir irgendjemand weiterhelfen?
Frage zu QLineEdit->setInputMask()[gelöst]
Frage zu QLineEdit->setInputMask()[gelöst]
Zuletzt geändert von jasper am 3. November 2011 16:25, insgesamt 1-mal geändert.
Re: Frage zu QLineEdit->setInputMask()
Hallo,
nimm einen QRegExpValidator für das QLineEdit und verzichte auf die Input-Maske.
Als expression sollte "^[0-9A-Za-z]*" passen.
Gruß
nimm einen QRegExpValidator für das QLineEdit und verzichte auf die Input-Maske.
Als expression sollte "^[0-9A-Za-z]*" passen.
Gruß
Re: Frage zu QLineEdit->setInputMask()
Hallo almboa,
danke für den Beitrag! Jetzt kann ich die Komponente QLineEdit beliebig formatieren:
Die erste Ziffer soll ein Buchstabe sein, die restlichen 7 Ziffern Buchstaben oder Zahlen:
Der Ärger mit den Sonderzeichen ö,ä usw. hat nun endlich ein Ende.
Gruß
Jasper
danke für den Beitrag! Jetzt kann ich die Komponente QLineEdit beliebig formatieren:
Die erste Ziffer soll ein Buchstabe sein, die restlichen 7 Ziffern Buchstaben oder Zahlen:
Code: Alles auswählen
QRegExp rx("^[A-Za-z]{1,1}[A-Za-z0-9]{1,7}$");
QValidator *pVal = new QRegExpValidator(rx,this);
ui.EName->setValidator(pVal);
Gruß
Jasper
Re: Frage zu QLineEdit->setInputMask()[gelöst]
Das {1,1} ist überflüssig.