Seite 2 von 2

Verfasst: 10. November 2007 16:12
von iaby
Das ganze scheint doch daran zu liegen dass sich diese InputMask und RegExp ausschliessen!
Wenn ich als inputMask "000.000.000.000;0" verwende dann geht es, allerdings wird dann aus einer Zuweisung von "127.0.0.1" ein "127.000.000.100" :(
Ich glaube ich baue nur auf eine InputMask und prüfe dann von Hand den Wertebereich!

PS: Qt 4.4? Gibts das als Beta oder hab ich nur was verpasst?

Verfasst: 9. Juni 2010 16:15
von dbrich
Hi, hat schon wer dieses Problem gelöst? Mein 4.6 mag die Kombi von REgExp und InputMask auch nicht ganz - beim eingeben scheint es zwar zu funktionieren, aber im QString fehlen dann alle "0". Wenn ich die InpuMask ausschalte, ist dann am Anfang des Strings /001 - auch nicht das wahre.

Andere ideen?

Verfasst: 28. Juli 2010 12:12
von padreigh
probiers doch so: weder qinput validator noch qregexp am QLineEdit,
stattdesses ein eigener Slot den du mit QLineEdit::editingFinished () verbindest.

Im Slot prüfst du den String dann auf Korrektheit ( wie auch immer du das tust ob mit QRegExp oder Stringzerlegung oder oder oder bleibt dir überlassen. Wenn der String gültig ist kannst du den beliebig formatieren und inst TextEdit zurückschreiben (ob nun 128.0.0.001 oder 128.00.000.1 oder egal).

Vorteil: es erlaubt dann zB auch die Angabe von IP Alias namen im lokalen Netz die via DNS aufgelöst werden können (musst du halt auf existenz prüfen).

Wenn der Input nicht stimmt, hilft ein einfaches QLineEdit.undo() weiter ;)

Verfasst: 28. Juli 2010 12:22
von Eltharion
Das scheint wirklich die beste Lösung zu sein. Zumal man ja mit der Textfarbe o.ä. die Korrektheit auch bei der Eingabe anzeigen könnte. Außerdem sind so sicher auch die IPv6-Eingaben leichter handelbar.

E*

Re: Widget zur Eingabe von IPAdressen

Verfasst: 23. November 2012 10:43
von Jarvise
So the regex validator along with the input mask works as expected here.