Название: Запрет ввода "," (запятой) Отправлено: Stek от Апрель 25, 2013, 18:03 Добрый день!
Есть lineEdit, с помощью QValidator задан диапазон допустимых значений QValidator* validator = new QIntValidator( 0, 8000, this ); .... Необходимо запретить ввод "," Вопрос вроде простой и решаемый, но буду признателен если кто предложит наиболее верное решение. Можно ли решить проблему использую QRegExp и QValidator? Можно решить используя textChanged (const QString &) и replace, но этот вариант мне не подходит. Название: Re: Запрет ввода "," (запятой) Отправлено: gil9red от Апрель 25, 2013, 18:18 Используете regexp валидатор и в нем ставите нужный шаблон, что то вроде: [^,]*
Название: Re: Запрет ввода "," (запятой) Отправлено: ViTech от Апрель 25, 2013, 19:07 Запятую целочисленный валидатор может из-за локали пропускает, в которой запятая - разделитель тысячных групп (QLocale::groupSeparator()).
Можно наследоваться от QIntValidator, переопределить QIntValidator::validate(), там проверять input на наличие запятой: если есть, то вернуть QValidator::Invalid, иначе вернуть результат родительского метода. |