Qt QDoubleValidator';s validate()不工作?
我不想使用Qt QDoubleValidator';s validate()不工作?,qt,validation,qt4,Qt,Validation,Qt4,我不想使用QLineEdit验证double值,我想从代码本身验证它,所以我尝试了: QDoubleValidator dv(1.5,30.0,1); double d = 1.3; int pos=0; qDebug()<< dv.validate(QString::number(d,'f',1), pos); QDoubleValidator-dv(1.5,30.0,1); 双d=1.3; int pos=0; qDebug()根据Qt源代码,只有在以下情况下,它才会返回QVa
QLineEdit
验证double
值,我想从代码本身验证它,所以我尝试了:
QDoubleValidator dv(1.5,30.0,1);
double d = 1.3;
int pos=0;
qDebug()<< dv.validate(QString::number(d,'f',1), pos);
QDoubleValidator-dv(1.5,30.0,1);
双d=1.3;
int pos=0;
qDebug()根据Qt源代码,只有在以下情况下,它才会返回QValidator::Invalid
:
- 输入不代表双精度值
- 该值包含“-”号,表示它是负值,但底部值不是负值
- 输入字符串不以“\0”结尾
仅当输入字符串表示介于底部和顶部值之间的有效双精度值(不包括上述值)时,它才会返回QValidator::Acceptable
其余所有情况下,函数返回QValidator::Intermediate