我有一个带有QLineEdit的UI,它只在QDoubleValidator的帮助下接受float / double值 . 如果我输入一个前导数字,它只接受值:0.234 . 但我更喜欢能够直接输入值,而不需要像.234这样的前导数字 . 不幸的是,QDoubleValidator不接受一个领先点 . 有没有办法在验证器的帮助下归档我的目标,或者我是否必须自己检查每个输入的角色?我在Windows10上使用Qt 5.9.1 .
QDoubleValidator* doubleValidator = new QDoubleValidator();
QLineEdit* lineEdit = new QLineEdit(frame);
lineEdit->setValidator(doubleValidator);
vbox->addWidget(lineEdit);
1 回答
不幸的是,
QDoubleValidator
非常有限,但您可以使用QRegExpValidator
来获取您想要的正则数据描述一个数字,具体取决于您期望的符号 .这是更加可扩展的,并允许您使用基本的正则表达式知识将其抽象为任何条件 .