crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QLineEdit и "умный" QValidator
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Dimix Дата 7.3.2012, 21:39
 
Цитата(RazrFalcon @ 7.3.2012, 21:32) *
Не то! :lol:

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

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


Без валидатора и масски
Сделай на сигнал textChanged() обработчик получай символы и там уже все что хочешь
RazrFalcon Дата 7.3.2012, 21:32
  Не то! :lol:

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

нули не возвращаются...
RazrFalcon Дата 6.3.2012, 13:59
  http://qt-project.org/doc/qt-4.8/qlineedit...#inputMask-prop

то что нужно!
BRE Дата 6.3.2012, 8:09
  У !LineEdit есть возможность установить маску, смотри на setInputMask. Возможно получиться это сделать с помощью маски.
Алексей1153 Дата 6.3.2012, 7:17
  нужно реагировать на каждое изменение позиции курсора - при этом "сгонять" с неправильных мест. Можно согласно контексту - к примеру, если сейчас нажали "вправо", согнать правее
RazrFalcon Дата 5.3.2012, 23:51
  Поставил валидатор на QLineEdit. Все работает, но есть большая проблема.
У меня в QRegExp("([0-9]{2} ){5}") есть пробелы, так вот - это не позволяет редактировать строку. Я могу только стереть ее и все... и мне самому приходится вводить пробелы.

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

Это можно как то реализовать стандартными средствами, или придется наследовать QLineEdit?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 13:05