https://evileg.com/en/post/56/
QString IpRange = "(?:[0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])"; //255
QRegExp IpRegex ("^" + IpRange
+ "(\\." + IpRange + ")"
+ "(\\." + IpRange + ")"
+ "(\\." + IpRange + ")$");
lineEdit_UI_IPAddress = new QiNengLineEdit(this); //ip地址
lineEdit_UI_IPAddress->setValidator(new QRegExpValidator(IpRegex,this));
QString ipRange = "(([ 0]+)|([ 0]*[0-9] *)|([0-9][0-9] )|([ 0][0-9][0-9])|(1[0-9][0-9])|([2][0-4][0-9])|(25[0-5]))";
// You may want to use QRegularExpression for new code with Qt 5 (not mandatory).
QRegExp ipRegex ("^" + ipRange
+ "\\." + ipRange
+ "\\." + ipRange
+ "\\." + ipRange + "$");
QRegExpValidator *ipValidator = new QRegExpValidator(ipRegex, this);
lineEdit->setValidator(ipValidator);
lineEdit->setInputMask("000.000.000.000");
// Avoid having to move cursor before typing
linEdit->setCursorPosition(0);