#验证器,整形,浮点型,字母和数字
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIntValidator,QDoubleValidator,QRegExpValidator
from PyQt5.QtCore import QRegExp
import sys
class LineEditDemo(QWidget):
def __init__(self,parent=None):
super(LineEditDemo, self).__init__(parent)
self.setWindowTitle("验证器")
#创建对象
flo = QFormLayout()
pIntLineEdit = QLineEdit()
pDoubleLineEdit = QLineEdit()
pValidatorLineEdit = QLineEdit()
#加入列表
flo.addRow("整形",pIntLineEdit)
flo.addRow("浮点形", pDoubleLineEdit)
flo.addRow("子母和数字",pValidatorLineEdit)
#在linetext中加入注释
pIntLineEdit.setPlaceholderText("整形")
pDoubleLineEdit.setPlaceholderText("浮点型")
pValidatorLineEdit.setPlaceholderText("字母和数字")
#设置范围
#整形【1,99】
pIntValidator = QIntValidator(self)
pIntValidator.setRange(1,99)
#浮点型[-360,360] 精度,小数点后2位
pDoubleValidator = QDoubleValidator(self)
pDoubleValidator.setRange(-360,360)
pDoubleValidator.setNotation(QDoubleValidator.StandardNotation)
pDoubleValidator.setDecimals(2)
#字母和数字
reg = QRegExp("[a-zA-ZO-9]+$")
pValidator = QRegExpValidator(self)
pValidator.setRegExp(reg)
#设置验证器材
pIntLineEdit.setValidator(pIntValidator)
pDoubleLineEdit.setValidator(pDoubleValidator)
pValidatorLineEdit.setValidator(pValidator)
self.setLayout(flo)
if __name__ == "__main__":
app = QApplication(sys.argv)
win = LineEditDemo()
win.show()
sys.exit(app.exec_())
附:运行截图