PyQt5(11)QLineEdit的整數、浮點數或滿足一定條件的字符串的校驗


'''

現在QLineEdit控件的輸入(校驗器)

如限制只能輸入整數、浮點數或滿足一定條件的字符串


'''

from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIntValidator,QDoubleValidator, QRegExpValidator
from PyQt5.QtCore import QRegExp
import sys

class QLineEditValidator(QWidget):
    def __init__(self):
        super(QLineEditValidator,self).__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('校驗器')

        # 創建表單布局
        formLayout = QFormLayout()

        intLineEdit = QLineEdit()
        doubleLineEdit = QLineEdit()
        validatorLineEdit = QLineEdit()

        formLayout.addRow('整數類型', intLineEdit)
        formLayout.addRow('浮點類型', doubleLineEdit)
        formLayout.addRow('數字和字母',validatorLineEdit)

        intLineEdit.setPlaceholderText('整型')
        doubleLineEdit.setPlaceholderText('浮點型')
        validatorLineEdit.setPlaceholderText('字母和數字')

        # 整數校驗器 [1,99]
        intValidator = QIntValidator(self)
        intValidator.setRange(1,99)

        # 浮點校驗器 [-360,360],精度:小數點后2位
        doubleValidator = QDoubleValidator(self)
        doubleValidator.setRange(-360,360)
        doubleValidator.setNotation(QDoubleValidator.StandardNotation)#標准的記號表達
        # 設置精度,小數點2位
        doubleValidator.setDecimals(2)

        # 字符和數字
        reg = QRegExp('[a-zA-z0-9]+$')
        validator = QRegExpValidator(self)
        validator.setRegExp(reg)

        # 設置校驗器

        intLineEdit.setValidator(intValidator)
        doubleLineEdit.setValidator(doubleValidator)
        validatorLineEdit.setValidator(validator)

        self.setLayout(formLayout)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QLineEditValidator()
    main.show()
    sys.exit(app.exec_())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM