Название: Проверка ввода - валидатор Отправлено: Germiona от Май 21, 2008, 13:01 Доброго времени суток :)
Господа,может кто-нибудь уже создавал проверку ввода (валидатор) на IP адрес в строке ввода LineEdit ::) Маску то легко установить,а вот проверять диапазон от 0 до 255.... Поделитесь,плиз... Название: Re: Проверка ввода - валидатор Отправлено: em от Май 21, 2008, 14:49 хм в Qt знак отмены \ не понимается почему-то... тогда получается не отменишь специальное значение для точки (типа \.)!
Название: Re: Проверка ввода - валидатор Отправлено: lit-uriy от Май 21, 2008, 14:55 не в Qt, а в Си, пиши так: \\.
Название: Re: Проверка ввода - валидатор Отправлено: uriel от Май 21, 2008, 15:14 Можно через QRegExpValidator с выражением "\\b(([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\.){3}([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\b".
Название: Re: Проверка ввода - валидатор Отправлено: Germiona от Май 21, 2008, 15:21 Спасибо большое :) Попробую
Название: Re: Проверка ввода - валидатор Отправлено: em от Май 21, 2008, 16:00 не в Qt, а в Си, пиши так: \\. Ах точно =)))Можно через QRegExpValidator с выражением "\\b(([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\.){3}([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\b". ага работает)Название: Re: Проверка ввода - валидатор Отправлено: Germiona от Май 29, 2008, 16:27 Цитировать Можно через QRegExpValidator с выражением "\\b(([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\.){3}([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\b". Хм....а почему валидатор с этим отображением не хочет работать вместе с маской? Код: setInputMask("000.000.000.000;_"); Нельзя что ли одновременно и маску и валидатор использовать? хотелось бы чтобы разделительные точки не стирались и не удалялись Название: Re: Проверка ввода - валидатор Отправлено: uriel от Май 29, 2008, 17:54 В ассистенте написано:
Код: To get range control (e.g. for an IP address) use masks together with validators. Название: Re: Проверка ввода - валидатор Отправлено: Germiona от Май 30, 2008, 09:45 Цитировать В ассистенте написано: Код: To get range control (e.g. for an IP address) use masks together with validators. Так что в идеале должно работать... Это я тоже читала...однако не работает :( Выражение QRegExpValidator-а другим каким-то должно быть,если установлена уже маска вида: ___.___.___.___ ??? Название: Re: Проверка ввода - валидатор Отправлено: BRE от Май 30, 2008, 09:53 Цитировать В ассистенте написано: Код: To get range control (e.g. for an IP address) use masks together with validators. Так что в идеале должно работать... Это я тоже читала...однако не работает :( Выражение QRegExpValidator-а другим каким-то должно быть,если установлена уже маска вида: ___.___.___.___ ??? Название: Re: Проверка ввода - валидатор Отправлено: chipset от Май 30, 2008, 10:15 Что то вроде такого
QRegExp regIp("[0-9]{,3}\\.[0-9{,3}\\.[0-9]{,3}\\.[0-9]{,3}]"); Название: Re: Проверка ввода - валидатор Отправлено: Germiona от Май 30, 2008, 10:43 Ничего не получаеца (((((((
Даже если устанавливаю валидатор на любой символ при установленной маске (даже только с нулями,без пробелов) ни один символ не вводиться :-\ Придеться без маски :'( Название: Re: Проверка ввода - валидатор Отправлено: BRE от Май 30, 2008, 11:07 Ничего не получаеца ((((((( Даже если устанавливаю валидатор на любой символ при установленной маске (даже только с нулями,без пробелов) ни один символ не вводиться :-\ Придеться без маски :'( А у меня все работает. ;) Код: QLineEdit *m_ip = ...; Название: Re: Проверка ввода - валидатор Отправлено: Germiona от Май 30, 2008, 13:21 Пишу один в один....но не работает
Название: Re: Проверка ввода - валидатор Отправлено: lit-uriy от Май 30, 2008, 14:34 может в Qt3.x это как-то иначе?
Название: Re: Проверка ввода - валидатор Отправлено: Germiona от Июнь 06, 2008, 13:50 Ура! Получилось! Просто маску надо было устанавливать в конструкторе,а не в свойствах формы QT Designer-a
А вот еще такой вопрос по поводу RegExp... Как будет выглядеть выражение для имени файла? т.е. любые буквы,цифры,_,- и точка, но после точки,чтобы только 3 символа разрешал... Код: regExp("[a-zA-Z0-9_-]"); а как быть с точкой? Название: Re: Проверка ввода - валидатор Отправлено: uriel от Июнь 06, 2008, 14:29 Возможно, так. :)
Код: [\\w-_]*[.][\\w]{,3} Название: Re: Проверка ввода - валидатор Отправлено: Sergeich от Июнь 06, 2008, 14:44 Ура! Получилось! Просто маску надо было устанавливать в конструкторе,а не в свойствах формы QT Designer-a Не советую ставить ограничение на кол-во символов после точки, даже в винде сейчас используется больше символов (например xlsx и docx). Лучше юзать QFileDialog c установкой фильтраА вот еще такой вопрос по поводу RegExp... Как будет выглядеть выражение для имени файла? т.е. любые буквы,цифры,_,- и точка, но после точки,чтобы только 3 символа разрешал... Код: regExp("[a-zA-Z0-9_-]"); а как быть с точкой? Название: Re: Проверка ввода - валидатор Отправлено: cooler_3105 от Июнь 16, 2008, 14:39 1. Как сделать проверку ввода в TextEdit? (альтернатива валидатора в LineEdit)
2. Как перейти на новую строчку при записи файла? (не в тему, но для нубов темы нет) Извините за глупые вопросы... Только начинаю изучать QT. Название: Re: Проверка ввода - валидатор Отправлено: ches01 от Апрель 12, 2012, 11:30 А у меня все работает. ;) Код: QLineEdit *m_ip = ...; Но не совсем правильно))) Первый символ должен быть отличным от нулевого)))ИМХО))) |