1. 限制输入方式
方式一:调用QLineEdit的setInputMask()函数,限制输入格式
//限定为IP输入格式,未输入的位置用“_”补全
edit->setInputMask("000.000.000.000;_");
方式二:QRegExp限定输入格式
//限定lineEdit只能输入数字和冒号“:”
QRegExp regx("[0-9:]+$");
QValidator *validator = new QRegExpValidator(regx, this);
edit->setValidator(validator);
2. 判断输入是否符合格式,以判断字符串192.168.1.20是否符合IP为例:
QRegExp regExp("\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b");
bool match = regExp.exactMatch("192.168.1.20");
if(match){
qDebug()<<"ip ok";
}
else{
qDebug()<<"ip fail";
}