正则表达式限制输入数字范围为0-1200,可输入两位小数
时间: 2024-02-17 20:03:18 浏览: 130
可以使用正则表达式限制输入数字范围为0-1200,且可输入两位小数,代码如下:
```python
from PyQt5.QtWidgets import QApplication, QLineEdit, QWidget, QVBoxLayout
from PyQt5.QtGui import QRegExpValidator, QRegExp
app = QApplication([])
window = QWidget()
layout = QVBoxLayout()
line_edit = QLineEdit()
regex = QRegExp("(^[1-9]\d{0,2}$)|(^[0-9]{1,3}\.[0-9]{1,2}$)|(^0\.[0-9]{1,2}$)")
validator = QRegExpValidator(regex)
line_edit.setValidator(validator)
layout.addWidget(line_edit)
window.setLayout(layout)
window.show()
app.exec()
```
在上述代码中,我们创建了一个QLineEdit对象,并使用QRegExpValidator来限制输入数字范围为0-1200,且可输入两位小数。我们使用正则表达式"(^[1-9]\d{0,2}$)|(^[0-9]{1,3}\.[0-9]{1,2}$)|(^0\.[0-9]{1,2}$)"来匹配0-1200之间的数字,其中^[1-9]\d{0,2}$匹配1-999的整数部分,^[0-9]{1,3}\.[0-9]{1,2}$匹配大于等于1000的数字,^0\.[0-9]{1,2}$匹配小于1的数字。最后将QLineEdit添加到布局中,并显示在窗口中。运行程序后,就可以在QLineEdit中输入0-1200之间的数字,且可输入两位小数。
阅读全文