QLineEdit и "умный" QValidator |
Здравствуйте, гость ( Вход | Регистрация )
QLineEdit и "умный" QValidator |
RazrFalcon |
5.3.2012, 23:51
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Поставил валидатор на QLineEdit. Все работает, но есть большая проблема.
У меня в QRegExp("([0-9]{2} ){5}") есть пробелы, так вот - это не позволяет редактировать строку. Я могу только стереть ее и все... и мне самому приходится вводить пробелы. Как сделать, что бы маска была сразу, то есть: 00 00 00 00 00, но я мог редактировать ее как хочу. То есть при вводе 2-х символов сразу перескакивает на 4-й (то есть пропускает пробел). Это можно как то реализовать стандартными средствами, или придется наследовать QLineEdit? |
|
|
Алексей1153 |
6.3.2012, 7:17
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
нужно реагировать на каждое изменение позиции курсора - при этом "сгонять" с неправильных мест. Можно согласно контексту - к примеру, если сейчас нажали "вправо", согнать правее
|
|
|
BRE |
6.3.2012, 8:09
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
У !LineEdit есть возможность установить маску, смотри на setInputMask. Возможно получиться это сделать с помощью маски.
|
|
|
RazrFalcon |
6.3.2012, 13:59
Сообщение
#4
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
|
|
|
RazrFalcon |
7.3.2012, 21:32
Сообщение
#5
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Не то!
При:
нули не возвращаются... |
|
|
Dimix |
7.3.2012, 21:39
Сообщение
#6
|
Студент Группа: Участник Сообщений: 74 Регистрация: 24.11.2010 Пользователь №: 2215 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Текстовая версия | Сейчас: 29.11.2024, 6:25 |