Название: Помогите с маской для Validator Отправлено: AntonUfo от Ноябрь 24, 2010, 11:58 Прошу помощи, как при вводе значения в поле разрешить ввод только цифр и если нужно одного пробела между двумя цифрами, причем первым пробел быть не может...т.е.
"1 2 3" - можно вводить " 1 2 3" - нельзя т.к. перед 1 пробел.. "1 2 3" - нельзя т.к. между 2 и 3 два пробела Название: Re: Помогите с маской для Validator Отправлено: crossly от Ноябрь 24, 2010, 13:30 QRegExp("\\d\\s\\d\\s\\d")
Название: Re: Помогите с маской для Validator Отправлено: AntonUfo от Ноябрь 24, 2010, 15:42 QRegExp("\\d\\s\\d\\s\\d") не упомянул такой момент: - числа могут быть целые с любым количеством знаков - их может быть сколь угодно много как тогда Ваш пример нужно переписать ? решено : QRegExp rx("(([\\d])+(\\s))+"); Название: Re: Помогите с маской для Validator Отправлено: Waryable от Ноябрь 24, 2010, 20:10 Честно говоря, я не очень понимаю зачем вообще использовать этот класс... Он очень громоздкий и сложен в понимании. В подобных случаях проще написать свой алгоритм. Анализ строк не такая уж сложная задача. Больше времени уйдет на отладку маски.
Название: Re: Помогите с маской для Validator Отправлено: crossly от Ноябрь 24, 2010, 21:25 Честно говоря, я не очень понимаю зачем вообще использовать этот класс... Он очень громоздкий и сложен в понимании. В подобных случаях проще написать свой алгоритм. Анализ строк не такая уж сложная задача. Больше времени уйдет на отладку маски. велосипедостроитель.... ??Название: Re: Помогите с маской для Validator Отправлено: Igors от Ноябрь 24, 2010, 22:23 Не проверял, ошибки возможны
Код
Название: Re: Помогите с маской для Validator Отправлено: Kolobok от Ноябрь 24, 2010, 23:38 Думаю, лучше потратить немного больше времени и написать код, более легкий для сопровождения.
Так вроде правильно. QRegExp rx("^(\\d+\\s?)+$"); Название: Re: Помогите с маской для Validator Отправлено: Waryable от Ноябрь 27, 2010, 10:50 велосипедостроитель.... ?? По этой логике все программисты велосипедостроители. Вроде бы я свою точку зрения аргументировал.Думаю, лучше потратить немного больше времени и написать код, более легкий для сопровождения. На мой сугубо личный взгляд код, приведенный Igors, гораздо более легок для сопровождения, т.к. довольно компактен и использует простые конструкции. С другой стороны, использование QRegExp предполагает задание одной строкой аналогичного алгоритма. Это требует знаний всех правил составления этой строки, а так же некоторой отладки(тестирования). Согласись, если бы работа с этим классом была достаточно тривиальна, ты бы не обратился за помощью на форум.Так вроде правильно. QRegExp rx("^(\\d+\\s?)+$"); |