QT中QLineEdit设置IP输入限制

发布时间 2023-09-23 09:13:18作者: 柴承训

QT中设置QLineEdit只允许输入IP格式的数据,我们可以使用正则表达式,不过在QT5和QT6中有一点点不一样(QT5中是QRegExpQRegExpValidator,QT6中是QRegularExpressionQRegularExpressionValidator):

QT5

#include <QRegExp>
#include <QRegExpValidator>

ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("^((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]?)$")));

QT6

#include <QRegularExpression>
#include <QRegularExpressionValidator>

ui->lineEdit->setValidator(new QRegularExpressionValidator(QRegularExpression("^((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]?)$")));