要在PyQt5的编辑框中使用正则表达式规定只能输入数字,可以使用QRegExpValidator
类。以下是一个示例代码,演示如何将正则表达式应用于QLineEdit
部件:
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit
from PyQt5.QtCore import QRegExp
from PyQt5.QtGui import QRegExpValidator
app = QApplication([])
window = QWidget()
layout = QVBoxLayout()
edit = QLineEdit()
layout.addWidget(edit)
# 创建一个只允许输入数字的正则表达式
regex = QRegExp("[0-9]+")
validator = QRegExpValidator(regex, edit)
# 将正则表达式验证器应用于编辑框
edit.setValidator(validator)
window.setLayout(layout)
window.show()
app.exec()
在上述代码中,我们创建了一个QLineEdit
部件,并使用QRegExpValidator
来限制输入内容只能是数字。QRegExpValidator
的构造函数接受一个QRegExp
对象和要应用验证的编辑框。我们使用"[0-9]+"
作为正则表达式,它表示只能输入一个或多个数字。
通过将验证器应用于编辑框,它将在用户尝试输入非数字字符时阻止输入。
请注意,尽管使用了验证器,但仍然应在处理输入数据之前进行额外的验证。