Skip to content

RegularExpressionValidator

Qt Base Class: QRegularExpressionValidator

Signature: QRegularExpressionValidator(self, parent: Optional[PySide6.QtCore.QObject] = None) -> None QRegularExpressionValidator(self, re: Union[PySide6.QtCore.QRegularExpression, str], parent: Optional[PySide6.QtCore.QObject] = None) -> None

Base classes

Name Children Inherits
ValidatorMixin
prettyqt.gui.validator
QRegularExpressionValidator
PySide6.QtGui
QRegularExpressionValidator(self, parent: Optional[PySide6.QtCore.QObject] \= None) -> None

⋔ Inheritance diagram

graph TD
  1473245554336["gui.RegularExpressionValidator"]
  1473245536768["gui.ValidatorMixin"]
  1473299815024["core.ObjectMixin"]
  140713234304496["builtins.object"]
  1473289187120["QtGui.QRegularExpressionValidator"]
  1473289208592["QtGui.QValidator"]
  1473288842240["QtCore.QObject"]
  1473291690208["Shiboken.Object"]
  1473245536768 --> 1473245554336
  1473299815024 --> 1473245536768
  140713234304496 --> 1473299815024
  1473289187120 --> 1473245554336
  1473289208592 --> 1473289187120
  1473288842240 --> 1473289208592
  1473291690208 --> 1473288842240
  140713234304496 --> 1473291690208

🛈 DocStrings

Bases: ValidatorMixin, QRegularExpressionValidator

Used to check a string against a regular expression.

Source code in prettyqt\gui\regularexpressionvalidator.py
class RegularExpressionValidator(gui.ValidatorMixin, gui.QRegularExpressionValidator):
    """Used to check a string against a regular expression."""

    ID = "regular_expression"

    def __init__(self, *args, **kwargs):
        # allow passing strings as well as re.Pattern to the ctor
        match args, kwargs:
            case (str() as pat, *rest), _:
                super().__init__(core.QRegularExpression(pat), *rest, **kwargs)
            case _, {"regular_expression": str() as reg_str, **rest}:
                pat = core.QRegularExpression(reg_str)
                super().__init__(*args, regular_expression=pat, **rest)
            case (re.Pattern() as pat,), _:
                super().__init__(core.RegularExpression(pat))
            case _, _:
                super().__init__(*args, **kwargs)

    def __repr__(self):
        return get_repr(self, self.regularExpression())

    def __getstate__(self):
        return dict(pattern=core.RegularExpression(self.regularExpression()))

    def __setstate__(self, state):
        self.setRegularExpression(state["pattern"])

    def __reduce__(self):
        return type(self), (), self.__getstate__()

    def __eq__(self, other: object):
        return (
            self.regularExpression() == other.regularExpression()
            if isinstance(other, type(self))
            else False
        )

    def set_regex(
        self,
        regex: datatypes.PatternAndStringType,
        flags=None,
    ):
        self.setRegularExpression(datatypes.to_regular_expression(regex))

    def get_regex(self) -> str:
        val = self.regularExpression()
        return val.pattern()

⌗ Property table

Qt Property Type Doc
objectName QString
regularExpression QRegularExpression