QT中QLineEdit设置IP输入限制
QT中设置QLineEdit只允许输入IP格式的数据,我们可以使用正则表达式,不过在QT5和QT6中有一点点不一样(QT5中是QRegExp
和QRegExpValidator
,QT6中是QRegularExpression
和QRegularExpressionValidator
):
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]?)$")));