以下是在 PyQt6 中实现实时输入校验的修改建议:
- from PyQt6.QtWidgets import QWidget, QApplication
- from PyQt6.QtGui import QRegularExpressionValidator
- from ui_form import Ui_Form
- class MyWidget(QWidget):
- def __init__(self):
- super().__init__()
- self.ui = Ui_Form()
- self.ui.setupUi(self)
-
- validator = QRegularExpressionValidator(self)
- pattern = r"^[0-9A-Za-z]{17}[0-9A-Za-z]?$" # 修改正则表达式模式
- validator.setRegularExpression(pattern)
- self.ui.code.setValidator(validator)
- if __name__ == "__main__":
- app = QApplication([])
- widget = MyWidget()
- widget.show()
- app.exec()
复制代码
这段代码基于 PyQt6 进行了修改,并使用了QRegularExpressionValidator类来进行输入验证。修改后的代码在预定义的模式上设置了输入验证器,并将其应用于文本框上。
希望这次可以满足你的需要。如果还有其他问题,请随时提问。