QIntValidator类
QIntValidator类提供了一个验证器,用于确保字符串包含指定范围内的有效整数。
使用方法:
1.创建并设置验证器
//构造一个验证器,该验证器接受从最小值100到最大值999的整数。
QIntValidator *validator = new QIntValidator(100, 999, this);
//为lineEdit设置验证器
ui.lineEdit->setValidator(validator);
//可以使用:setRange()设置最小值和最大值,或使用setBottom()和setTop()单独设置
//QIntValidator *validator = new QIntValidator(this)
//validator->setRange(10,100);
//validator->setBottom(12);
//validator->setTop(50);
2.判断lineEdit输入值是否在验证器范围内
int pos = 0;
if (QValidator::Acceptable != ui.lineEdit->validator()->validate(ui.lineEdit->text(),pos) )
{
//输入值不在范围内
QMessageBox::information(this,"tip","data range error");
}
QDdoubleValidator类
QDoubleValidator
提供浮点数的范围检查;包括:上限、下限和小数点后位数的限制。
使用方法同上,需要注意的是需要通过setNotation()
设置浮点数的标记发。
QDoubleValidator *doubleValidator=new QDoubleValidator(100.0, 999.0, 5, this);
doubleValidator->setNotation(QDoubleValidator::StandardNotation); //设置为标准标记法,如:0.125
ui.lineEdit->setValidator(doubleValidator);