Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QLineEdit и "умный" QValidator
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
RazrFalcon
Поставил валидатор на QLineEdit. Все работает, но есть большая проблема.
У меня в QRegExp("([0-9]{2} ){5}") есть пробелы, так вот - это не позволяет редактировать строку. Я могу только стереть ее и все... и мне самому приходится вводить пробелы.

Как сделать, что бы маска была сразу, то есть: 00 00 00 00 00, но я мог редактировать ее как хочу.
То есть при вводе 2-х символов сразу перескакивает на 4-й (то есть пропускает пробел).

Это можно как то реализовать стандартными средствами, или придется наследовать QLineEdit?
Алексей1153
нужно реагировать на каждое изменение позиции курсора - при этом "сгонять" с неправильных мест. Можно согласно контексту - к примеру, если сейчас нажали "вправо", согнать правее
BRE
У !LineEdit есть возможность установить маску, смотри на setInputMask. Возможно получиться это сделать с помощью маски.
RazrFalcon
http://qt-project.org/doc/qt-4.8/qlineedit...#inputMask-prop

то что нужно!
RazrFalcon
Не то! :lol:

При:
lineEdit->setInputMask("HH HH HH HH;0");

нули не возвращаются...
Dimix
Цитата(RazrFalcon @ 7.3.2012, 21:32) *
Не то! :lol:

При:
lineEdit->setInputMask("HH HH HH HH;0");

нули не возвращаются...


Без валидатора и масски
Сделай на сигнал textChanged() обработчик получай символы и там уже все что хочешь
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.