QT IP输入框正则表达式(使用QLineEdit的setValidator函数)

/* ip输入框正则表达式 */
// IP 前3段
 QRegExp regExp("[0-9][0-9.][0-9.][.]");
ui->lineEdit_1->setValidator(new QRegExpValidator(regExp, ui->lineEdit_1));
ui->lineEdit_2->setValidator(new QRegExpValidator(regExp, ui->lineEdit_2));
ui->lineEdit_3->setValidator(new QRegExpValidator(regExp, ui->lineEdit_3));

// 第4段
regExp = QRegExp("[0-9][0-9][0-9]");
ui->lineEdit_4->setValidator(new QRegExpValidator(regExp, ui->lineEdit_4));

// 端口输入框
regExp = QRegExp("[0-9][0-9][0-9][0-9][0-9]");
ui->lineEdit_6->setValidator(new QRegExpValidator(regExp, ui->lineEdit_6));
ui->lineEdit_7->setValidator(new QRegExpValidator(regExp, ui->lineEdit_7));

// 输入处理
if (arg1.toInt() > 255) {
        QMessageBox::information(this, "information", "输入有误");
        ui->lineEdit_1->setText(tr(""));
}
// 如果输入.号
if ((arg1.indexOf(QString("."))) != -1) {
        ui->lineEdit_1->setText(arg1.section('.', 0, 0));
        focusNextPrevChild(true);
}

http://blog.csdn.net/emdfans/article/details/45718023

 

posted @ 2016-06-20 04:27  findumars  Views(9777)  Comments(0Edit  收藏  举报