验证器
1 """验证器""" 2 import sys 3 from PyQt5.QtWidgets import QApplication, QLineEdit, QWidget, QFormLayout 4 from PyQt5.QtGui import QIntValidator, QDoubleValidator, QRegExpValidator 5 from PyQt5.QtCore import QRegExp 6 7 8 class lineEditDemo(QWidget): 9 def __init__(self): 10 super().__init__() 11 self.setWindowTitle("QLineEdit例子") 12 13 flo = QFormLayout() 14 pIntLineEdit = QLineEdit() 15 pDoubleLineEdit = QLineEdit() 16 pValidatorLineEdit = QLineEdit() 17 18 19 flo.addRow("整型", pIntLineEdit) 20 flo.addRow("浮点型", pDoubleLineEdit) 21 flo.addRow("字母和数字", pValidatorLineEdit) 22 23 pIntLineEdit.setPlaceholderText("整型") 24 pDoubleLineEdit.setPlaceholderText("浮点型") 25 pValidatorLineEdit.setPlaceholderText("字母和数字") 26 27 # 整形,范围:[1,99] 28 pIntValidator = QIntValidator(self) 29 pIntValidator.setRange(1, 99) 30 31 # 浮点型范围[-360, 360],精度小数点后两位 32 pDoubleValidator = QDoubleValidator(self) 33 pDoubleValidator.setRange(-360, 360) 34 pDoubleValidator.setNotation(QDoubleValidator.StandardNotation) 35 pDoubleValidator.setDecimals(2) 36 37 # 字母和数字 38 reg = QRegExp("[a-zA-Z0-9]+ $") 39 pValidator = QRegExpValidator(self) 40 pValidator.setRegExp(reg) 41 42 # 设置验证器 43 pIntLineEdit.setValidator(pIntValidator) 44 pDoubleLineEdit.setValidator(pDoubleValidator) 45 pValidatorLineEdit.setValidator(pValidator) 46 47 48 self.setLayout(flo) 49 50 if __name__ == '__main__': 51 app = QApplication(sys.argv) 52 win = lineEditDemo() 53 win.show() 54 sys.exit(app.exec_())
学以致用,知行合一
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 百万级群聊的设计实践
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期