pyqt5校验器


pyqt5校验器

有整数检验器,浮点检验器,正则检验器……

from PyQt5.QtCore import Qt, QRegExp
from PyQt5.QtGui import QRegExpValidator, QDoubleValidator, QIntValidator


def validator_int(component, int_min=0, int_max=8000):
    valid = QIntValidator(component)
    valid.setRange(int_min, int_max)
    component.setValidator(valid)


def validator_double(component, int_min=0, int_max=1000, decimals=2):
    valid = QDoubleValidator(component)
    valid.setRange(int_min, int_max)
    valid.setNotation(QDoubleValidator.StandardNotation)
    valid.setDecimals(decimals)
    component.setValidator(valid)


def validator(component, reg):
    valid = QRegExpValidator(reg, component)
    component.setValidator(valid)


def validator_weight(component):
    """
    重量校验,200以内3位小数
    :param component:
    :return:
    """
    validator_double(component, 0, 200, 3)

def validator_item_no(component):
    validator(component, QRegExp("^[1-9][0-9]{0,12}"))

使用

validator_weight(self.qLineEdit)