可以使用正则表达式限制输入小数的格式,例如:
import re
from PyQt5.QtWidgets import QLineEdit, QApplication
class MyLineEdit(QLineEdit):
def __init__(self, parent=None):
super().__init__(parent)
# 只允许输入数字和小数点
regx = QRegExp("^\\d+\\.?\\d*$")
validator = QRegExpValidator(regx, self)
self.setValidator(validator)
if __name__ == '__main__':
app = QApplication([])
line_edit = MyLineEdit()
line_edit.show()
app.exec_()
其中,QRegExp("^\\d+\\.?\\d*$")
表示匹配以数字开头,后面跟着一个可选的小数点和任意数量的数字,并且字符串结尾必须是数字或者空字符串。QRegExpValidator
用于将正则表达式应用到 QLineEdit
控件中。