Qt5.9.1 QDoubleValidator 直接构建失效的解决办法

QIntValidator和QDoubleValidator都是用于限制Qt下输入组件输入的类,对于整形数一般使用QIntValidator就可以了,但是根据文档,QIntValidator的范围只能从-2147483647到2147483647。

当我需要限制比较打的输入,比如电话号码等等时,就必须使用QDoubleValidator了,但是如果只是将代码中的QIntValidator替换为QDoubleValidator的话,往往发现有失效的问题,原因是QDoubleValidator的默认notation并不是standardnotation,需要手动设置才可以。

    QDoubleValidator *phoneValidator = new QDoubleValidator(0.0,9999999999.0,0,this);
    phoneValidator->setNotation(QDoubleValidator::StandardNotation);
    ui->phoneLineEdit->setValidator(phoneValidator);


你可能感兴趣的:(C++,Qt)