QT做正则表达式时,移植的qt5程序,然后报错
经过一番研究
qt6没有QRegExpValidator了但是有替代方法
QT5程序
cpp
QRegExp rx("^((99)|(9[0-9]\\d)(\\.\\d{1,2})?|([1-9]\\d)(\\.\\d{1,2})?|([1-9])(\\.\\d{1,4})?|0(\\.\\d{1,4})?)$ ");
QRegExpValidator *pReg = new QRegExpValidator(rx, this);
ui->volHight->setValidator(pReg);
QT6替换为
cpp
QRegularExpression rx("^((99)|(9[0-9]\\d)(\\.\\d{1,2})?|([1-9]\\d)(\\.\\d{1,2})?|([1-9])(\\.\\d{1,4})?|0(\\.\\d{1,4})?)$ ");
QValidator *pReg = new QRegularExpressionValidator(rx, this);
ui->volHight->setValidator(pReg);
即可解决问题