Seite 1 von 1

QLineEdit IP Adress anlegen

Verfasst: 7. April 2009 09:44
von samir_bmw
Hallo Zusammen,

Ich will in ein QLineEdit IP Adresse schreiben. Der source:

Code: Alles auswählen

QLineEdit* hostLineEdit = new QLineEdit(this);
hostLineEdit->setInputMask("000.000.000.000;~");
Ich will es begrenzen bis 254.254.254.254 wie ein richtige IP und nicht wie jezt bis 999.999.999.999.
Ich habe schon mit QIntValidator versucht, Fehler der Zahl ist zu lang für ein intiger.

Code: Alles auswählen

QValidator* vv = new QIntValidator(0, 254254254254, hostLineEdit);
Dann habe ich mit QRegExpValidator versucht, aber ich könnte den Syntax nicht einpasen.

Code: Alles auswählen

QRegExpValidator* hostValidator = new QRegExpValidator(QRegExp("\\d{1,3}"), hostLineEdit);
hostLineEdit->setValidator(hostValidator);
Für jeden Tip ich bin dankbar

Verfasst: 7. April 2009 10:20
von upsala
^(2[0-5][0-9]|[01]?[0-9]?[0-9])\.(2[0-5][0-9]|[01]?[0-9]?[0-9])\.(2[0-5][0-9]|[01]?[0-9]?[0-9])\.(2[0-5][0-9]|[01]?[0-9]?[0-9])$

Verfasst: 7. April 2009 10:42
von samir_bmw
Ich bekam Fehlermeldung: error: unknown escape sequence '\.' .
Dann habe ich so ergenzt '\\.' wieder nicht geklapt.

Code: Alles auswählen

QRegExpValidator* hostValidator = new QRegExpValidator(QRegExp("^(2[0-5][0-9]|[01]?[0-9]?[0-9])\\.(2[0-5][0-9]|[01]?[0-9]?[0-9])\\.(2[0-5][0-9]|[01]?[0-9]?[0-9])\\.(2[0-5][0-9]|[01]?[0-9]?[0-9])$"), hostLineEdit);

Verfasst: 7. April 2009 11:39
von upsala