Инструменты пользователя

Инструменты сайта


develop:qt:input

Это старая версия документа!


Пользовательский ввод

QValidator

Является базовым, абстрактным классом для проверки ввода.
Принято 3 состояния проверки: Acceptable/Invalid и Intermediate- промежуточное (редактируемое) состояние, т.е. в данном виде строка не корректна, но она может стать таковой.

Данный класс может использоваться как с виджетами типа QLineEdit, QSpinEdit или QComboBox, так же и самостоятельно, с функцией для проверки- validate().

Функция fixup() может помочь исправить некоторые пользовательские ошибки (по умолчанию ничего не делает).
Есть возможность локализовать ввод под языковой стандарт- setLocale().
Так же есть сигнал changet().

QDoubleValidator


Обеспечивает верхнюю и нижнюю границы допустимых значений, а так же кол-во символов в десятичной части. fixup() отсутствует.

Присутствует указание нотации, setNotation(): стандартная и научная нотации.

QIntValidator


Во многом аналогично предыдущему, проверка ввода чисел, задание диапазона и т.д.

QRegExpValidator / QRegularExpressionValidator


Используется регулярное выражение, для проверки строки.
Совпадение проверяется со всей входной строкой, от начала до конца. Если введенная строка является префиксом целевой (не полной) то она считается промежуточной, с соответствующим статусом (Intermediate).

QRegExp / QRegularExpression


QRegularExpression является улучшением класса QRegExp, добавлен с пятой версии Qt, и рекомендуется к использованию, далее описание касается именно его.

Реализует Perl-совместимые регулярные выражения.
Выражение состоит из двух частей: строки шаблона и набора параметров шаблона.

Параметры шаблона задаются отдельно, в конструкторе либо функцией setPatternOptions(). Позволяют установить пар-ры типа учета регистра и т.д. (enum QRegularExpression :: PatternOption).

Тип соответствия- есть возможность задать тип соответствия (обычный либо частичный). Так же есть еще параметры соответствия (QRegularExpression :: MatchOption), но там хз, хня какая то.

:!: Пример:
 
develop/qt/input.1633321820.txt.gz · Последнее изменение: 2021/10/04 04:30 — admin