Seite 1 von 1
Reguläre Ausdrücke für EingabeMaske
Verfasst: 22. Dezember 2007 14:56
von D_ron
Hallo!
Ich bin auf der Suche nach folgenden reg. Ausdrücken:
1. positive Ganzzahlen im Bereiche von 0 bis 65535
2. Zeichen (Zahlen, Sonderzeichen, Buchstabend) mit einer max. Länge von 65 Zeichen
Verfasst: 22. Dezember 2007 16:11
von -=Freaky=-
was hast du denn schon so an recherche geleistet und ausprobiert?
mfg,
julian
Recherche
Verfasst: 22. Dezember 2007 16:14
von D_ron
Ich habe in der Qt-Hilfe QRegExpValidator gefunden und damit schon rumgespielt. Das klappt eigentlich auch recht gut bis auf diese zwei Punkte...
Verfasst: 22. Dezember 2007 17:51
von upsala
Für diese Anforderung würde ich keine Regex. verwenden.
Verfasst: 22. Dezember 2007 18:03
von D_ron
upsala hat geschrieben:Für diese Anforderung würde ich keine Regex. verwenden.
hast du eine bessere idee?
Verfasst: 22. Dezember 2007 18:31
von upsala
Ja klar, den normalen QValidator überladen. Die Überprüfung mit QString-Funktionen kostet dich keine 5 Zeilen Code...
Verfasst: 22. Dezember 2007 18:56
von D_ron
upsala hat geschrieben:Ja klar, den normalen QValidator überladen. Die Überprüfung mit QString-Funktionen kostet dich keine 5 Zeilen Code...
Hi,
Ok ich habe dort gefunden QIntValidator().
Doch wo kann ich die Länge einschränken? Muss ich hierzu die Validate() verwenden? Wenn das stimmt habe ich das Prinzip verstanden.
Verfasst: 22. Dezember 2007 19:40
von upsala
If the built-in validators aren't sufficient, you can subclass QValidator.
validate() must be implemented by every subclass
Irgendwie glaube ich nicht, daß du die Doku gelesen hast...
Re: Reguläre Ausdrücke für EingabeMaske
Verfasst: 26. Dezember 2007 14:40
von gboelter
D_ron hat geschrieben:
2. Zeichen (Zahlen, Sonderzeichen, Buchstabend) mit einer max. Länge von 65 Zeichen
Wenn Du den Designer benutzt, dann kannst Du z. B. bei QLineEdit die Anzahl der erlaubten Zeichen unter MaxLength einstellen.
Verfasst: 27. Dezember 2007 12:00
von patrik08
setInputMask finde ich Cooler.... dan geht auch noch ein daraufgezetzer QCompleter
http://doc.trolltech.com/4.2/widgets-lineedits.html
Code: Alles auswählen
/* schweizer mehrwert steuer nummern */
lineEdit = new QLineEdit(groupBox);
lineEdit->setInputMask("000.000;_");
Code: Alles auswählen
/* mit nummer einfach ein QIntValidator */
contoportante = new QLineEdit(groupBox);
contoportante->setMinimumSize(QSize(179, 0));
contoportante->setMaxLength(4);
QValidator *validator = new QIntValidator(1000,9999, this);
contoportante->setValidator(validator);
QSpinBox hat eben kein QCompleter aber mit QLineEdit geht doch fast alles....