PySide6.QtGui.QValidator¶
- class QValidator¶
- The - QValidatorclass provides validation of input text. More…- Inherited by: - QRegularExpressionValidator,- QIntValidator,- QDoubleValidator- Synopsis¶- Methods¶- def - __init__()
- def - locale()
- def - setLocale()
 - Virtual methods¶- def - fixup()
- def - validate()
 - Signals¶- def - changed()
 - Note - This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE - Detailed Description¶- The class itself is abstract. Two subclasses, - QIntValidatorand- QDoubleValidator, provide basic numeric-range checking, and- QRegularExpressionValidatorprovides general checking using a custom regular expression.- If the built-in validators aren’t sufficient, you can subclass - QValidator. The class has two virtual functions:- validate()and- fixup().- validate()must be implemented by every subclass. It returns- Invalid,- Intermediateor- Acceptabledepending on whether its argument is valid (for the subclass’s definition of valid).- These three states require some explanation. An - Invalidstring is clearly invalid.- Intermediateis less obvious: the concept of validity is difficult to apply when the string is incomplete (still being edited).- QValidatordefines- Intermediateas the property of a string that is neither clearly invalid nor acceptable as a final result.- Acceptablemeans that the string is acceptable as a final result. One might say that any string that is a plausible intermediate state during entry of an- Acceptablestring is- Intermediate.- Here are some examples: - For a line edit that accepts integers from 10 to 1000 inclusive, 42 and 123 are - Acceptable, the empty string, 5, or 1234 are- Intermediate, and “asdf” and 10114 is- Invalid.
- For an editable combobox that accepts URLs, any well-formed URL is - Acceptable, “http://example.com/,” is- Intermediate(it might be a cut and paste action that accidentally took in a comma at the end), the empty string is- Intermediate(the user might select and delete all of the text in preparation for entering a new URL) and “http:///./” is- Invalid.
- For a spin box that accepts lengths, “11cm” and “1in” are - Acceptable, “11” and the empty string are- Intermediate, and “http://example.com” and “hour” are- Invalid.
 - fixup()is provided for validators that can repair some user errors. The default implementation does nothing. QLineEdit, for example, will call- fixup()if the user presses Enter (or Return) and the content is not currently valid. This allows the- fixup()function the opportunity of performing some magic to make an- Invalidstring- Acceptable.- A validator has a locale, set with - setLocale(). It is typically used to parse localized data. For example,- QIntValidatorand- QDoubleValidatoruse it to parse localized representations of integers and doubles.- QValidatoris typically used with QLineEdit, QSpinBox and QComboBox.- See also - QIntValidator- QDoubleValidator- QRegularExpressionValidator- Line Edits Example- class State¶
- This enum type defines the states in which a validated string can exist. - Constant - Description - QValidator.Invalid - The string is clearly invalid. - QValidator.Intermediate - The string is a plausible intermediate value. - QValidator.Acceptable - The string is acceptable as a final result; i.e. it is valid. 
 - Sets up the validator. The - parentparameter is passed on to the QObject constructor.- changed()¶
 - This signal is emitted when any property that may affect the validity of a string has changed. - fixup(input)¶
- Parameters:
- input – str 
- Return type:
- QString 
 
 - This function attempts to change - inputto be valid according to this validator’s rules. It need not result in a valid string: callers of this function must re-test afterwards; the default does nothing.- Reimplementations of this function can change - inputeven if they do not produce a valid string. For example, an ISBN validator might want to delete every character except digits and “-”, even if the result is still not a valid ISBN; a surname validator might want to remove whitespace from the start and end of the string, even if the resulting string is not in the list of accepted surnames.- Returns the locale for the validator. The locale is by default initialized to the same as QLocale(). - See also - setLocale()- QLocale()- Sets the - localethat will be used for the validator. Unless setLocale has been called, the validator will use the default locale set with QLocale::setDefault(). If a default locale has not been set, it is the operating system’s locale.- See also - abstract validate(input, pos)¶
- Parameters:
- input – str 
- pos – int 
 
- Return type:
- PyObject 
 
 - This virtual function returns - Invalidif- inputis invalid according to this validator’s rules,- Intermediateif it is likely that a little more editing will make the input acceptable (e.g. the user types “4” into a widget which accepts integers between 10 and 99), and- Acceptableif the input is valid.- The function can change both - inputand- pos(the cursor position) if required.