Widget zur Eingabe von IPAdressen

Code-Schnippsel, oder Tipps und Tricks, die einem beim Programmieren mit Qt helfen können.
iaby
Beiträge: 53
Registriert: 10. Februar 2007 13:12

Beitrag 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?
dbrich
Beiträge: 9
Registriert: 19. Januar 2010 18:20

Beitrag 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?
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag 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 ;)
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
Eltharion
Beiträge: 74
Registriert: 4. Mai 2006 14:42
Wohnort: Magdeburg
Kontaktdaten:

Beitrag 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*
Jarvise
Beiträge: 1
Registriert: 23. August 2012 17:54
Wohnort: United States
Kontaktdaten:

Re: Widget zur Eingabe von IPAdressen

Beitrag von Jarvise »

So the regex validator along with the input mask works as expected here.
Antworten