aar*_*xer 3 python qt qlineedit pyqt5
我的项目中有一个 QLineEdit。\n我想在 lineEdit 上使用 QValidation。
\n\n#Create lineEdit\nitemValue = QtWidgets.QLineEdit()\n#Create \xd0\xb2\xd0\xb0\xd0\xbb\xd0\xb8\xd0\xb4\xd0\xb0\xd1\x82\xd0\xbe\xd1\x80\nobjValidator = QtGui.QDoubleValidator(self)\n#setup range\nobjValidator.setRange(-10.0, 100.0, 5)\n#lineEdit with validation\nitemValue.setValidator(objValidator)\n
Run Code Online (Sandbox Code Playgroud)\n\n但效果不佳。我可以输入我想要的内容,除了符号。\n并且范围不起作用!我可以输入 100500 或 -100500,但我希望用户只能输入范围内的数字。
\n\n我应该如何使用范围?\n我需要帮助:)
\n\n谢谢你们的帮助,伙计们!
\n默认情况下,验证器不会阻止输入超出范围的值,并且如果输入的值为Invalid 或 Intermediate ,也不会阻止用户离开行编辑。
但是,它确实为您提供了以编程方式拒绝输入的机会,因为只要当前值不可接受,行编辑就不会发出其editFinished或returnPressed信号,并且其hasAcceptableInput方法将返回False
。此外,如果您对验证器进行子类化,则可以重新实现其修复方法来控制输入的值。
然而,正如已经建议的那样,更好/更简单的解决方案是使用QDoubleSpinBox
,因为它会自动清理输入并提供更用户友好的界面。
归档时间: |
|
查看次数: |
8146 次 |
最近记录: |