RazrFalcon
5.3.2012, 23:51
Поставил валидатор на QLineEdit. Все работает, но есть большая проблема.
У меня в QRegExp("([0-9]{2} ){5}") есть пробелы, так вот - это не позволяет редактировать строку. Я могу только стереть ее и все... и мне самому приходится вводить пробелы.
Как сделать, что бы маска была сразу, то есть: 00 00 00 00 00, но я мог редактировать ее как хочу.
То есть при вводе 2-х символов сразу перескакивает на 4-й (то есть пропускает пробел).
Это можно как то реализовать стандартными средствами, или придется наследовать QLineEdit?
Алексей1153
6.3.2012, 7:17
нужно реагировать на каждое изменение позиции курсора - при этом "сгонять" с неправильных мест. Можно согласно контексту - к примеру, если сейчас нажали "вправо", согнать правее
У !LineEdit есть возможность установить маску, смотри на setInputMask. Возможно получиться это сделать с помощью маски.
RazrFalcon
7.3.2012, 21:32
Не то!
При:
lineEdit->setInputMask("HH HH HH HH;0");
нули не возвращаются...
Цитата(RazrFalcon @ 7.3.2012, 21:32)
Не то!
При:
lineEdit->setInputMask("HH HH HH HH;0");
нули не возвращаются...
Без валидатора и масски
Сделай на сигнал textChanged() обработчик получай символы и там уже все что хочешь