我的项目中有一个 QLineEdit。
我想在 qlineEdit 上使用验证。
#Create lineEdit
itemValue = QtWidgets.QLineEdit()
#Create валидатор
objValidator = QtGui.QDoubleValidator(self)
#setup range
objValidator.setRange(-10.0, 100.0, 5)
#lineEdit with validation
itemValue.setValidator(objValidator)
但效果不太好。我可以输入我想要的内容,除了符号。
而且范围不起作用!我可以输入 100500 或 -100500,但我希望用户只能输入范围内的数字。
我应该如何使用范围?
我需要帮助:)
谢谢你们的帮助,伙计们!
默认情况下,验证器不会阻止输入范围之外的值,并且如果输入的值是,也不会阻止用户离开行编辑无效或中间.
但是,它确实为您提供了以编程方式拒绝输入的机会,因为只要当前值不可接受,行编辑就不会发出其编辑完成 or 返回按下信号及其有可接受的输入方法将返回False
。此外,如果您对验证器进行子类化,则可以重新实现它fixup方法来控制输入的值。
然而,正如已经建议的那样,一个更好/更简单的解决方案是使用QDoubleSpinBox
,因为它会自动清理输入并提供更加用户友好的界面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)