Reguläre Ausdrücke für EingabeMaske

Alles rund um die Programmierung mit Qt
Antworten
D_ron
Beiträge: 38
Registriert: 24. Juli 2007 11:53
Wohnort: Karlsruhe
Kontaktdaten:

Reguläre Ausdrücke für EingabeMaske

Beitrag 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
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

was hast du denn schon so an recherche geleistet und ausprobiert?

mfg,
julian
D_ron
Beiträge: 38
Registriert: 24. Juli 2007 11:53
Wohnort: Karlsruhe
Kontaktdaten:

Recherche

Beitrag 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...
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Für diese Anforderung würde ich keine Regex. verwenden.
D_ron
Beiträge: 38
Registriert: 24. Juli 2007 11:53
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von D_ron »

upsala hat geschrieben:Für diese Anforderung würde ich keine Regex. verwenden.
hast du eine bessere idee?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ja klar, den normalen QValidator überladen. Die Überprüfung mit QString-Funktionen kostet dich keine 5 Zeilen Code...
D_ron
Beiträge: 38
Registriert: 24. Juli 2007 11:53
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag 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.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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...
gboelter
Beiträge: 80
Registriert: 5. Dezember 2007 14:52
Wohnort: Davao City, Philippines

Re: Reguläre Ausdrücke für EingabeMaske

Beitrag 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.
Guenther
Davao City, Philippines, Planet Earth, 28°C

Qt 4.8.1 for Linux/X11 - Open Source Edition for Application Development
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag 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....
.........................
speack português italiano deutsch english castellà qt
Antworten