要限制输入需要用到Validator才能限制QLineEdit的输入,具体的两种表现方式。
第一种是利用正则表达式QRegExp;例如下图所示:
QRegExp rx1 = QRegExp("[0-9.]+$");//正则表达式,限制数字与点的输入,
QValidator *validator1 = new QRegExpValidator(rx1, ui.lineEdit_InputIP);
ui.lineEdit_InputIP->setValidator(validator1);//验证输入
QRegExp rx2("[0-9A-Za-z]{1,8}$");//正则表达式,限制数字与字母的输入,只能输入8位数字与字母的组合
QValidator *validator2 = new QRegExpValidator(rx2, ui.lineEdit_InputSN);
ui.lineEdit_InputSN->setValidator(validator2);
QRegExp rx3 = QRegExp("[0-9]{1,3}$");//正则表达式,限制数字的输入,只能输入000-999
QValidator *validator3 = new QRegExpValidator(rx3, ui.lineEdit_InputContinueNum);
ui.lineEdit_InputContinueNum->setValidator(validator3);
//限制增益的输入控件输入
QRegExp rx5 = QRegExp("[0-3]");//正则表达式,限制数字0-5的输入,
QValidator