Я хотел бы использовать QRegExpValidator для того, чтобы заставить пользователя к: - введите значения только из определенного диапазона (двойной тип), - двойной тип должен быть набран в использовании точки не кома - нет другие форматы допускаютсяQRegExpValidator максимальное значение
до сих пор у меня есть:
QRegExpValidator* rxv = new QRegExpValidator(QRegExp("[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?"), this);
Этот валидатор силы пользователю ввести только двойные значения с точкой. Однако я не знаю, как запретить пользователю вводить значения вне диапазона (например, диапазон будет от 0 до 100,0). Я обольстил бы всю помощь.
Я дон Знаете, как это сделать, не могли бы вы показать пример кода? – Bremen
Обновленный ответ. – Amartel
Спасибо. Ваш ответ почти тот. Я пробовал модифицировать его, чтобы он работал так, как он должен, но я не был успешным. Проблема заключается в методе MyValidator. Например, давайте скажем, что min равно 5, а max - 9. После того, как я напишу (например, в строкеEdit) номер 1, я больше не могу отступать, поскольку он обрабатывается как Invalid. С другой стороны, если я изменил первое выражение, чтобы вернуть Intermediate, я смогу принять номер 1 ... Как преодолеть это? – Bremen