这里有个坑,不管是这么写
QDoubleValidator *doubleValidator=new QDoubleValidator(); doubleValidator->setRange(0,100,0); doubleValidator->setTop(100); ui->lineEdit->setValidator(doubleValidator);
还是这么写
ui->lineEdit->setValidator(new QDoubleValidator(0,100,2,ui->lineEdit));
他都只能限定最低位,和小数位,不能限定最高位,
如下图所示:
所以此处要想限制最高位的话,此处最好用正则表达式。
代码如下:
QRegExp double_rx("100|([0-9]{0,2}[\.][0-9]{1,2})"); ui->lineEdit->setValidator(new QRegExpValidator(double_rx,this));
运行截图如下:
现在就可以限制了!!!!!!!