Russian Qt Forum
Ноябрь 25, 2024, 18:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Маска ввода и контроль значения для QLineEdit (Qt 4.6.0)  (Прочитано 14085 раз)
ymb
Гость
« : Февраль 15, 2010, 09:27 »

Код:    
ui->Edit1->setValidator(new QDoubleValidator(0, 90.0, 1, ui->Edit1));
ui->Edit1->setInputMask("#0.0");

После ввода с клавиатуры всех 3-х цифр не работают клавиши "BackSpace" и "Delete".
Изменить введённые цифры можно только перемещением клавишами со стрелками.
Если ввести только 2 цифры, то  клавиша "BackSpace" работает.
Так и должно быть? Или можно как-то это изменить?

То , что не работает ограничение на значение, об этом я уже прочитал на форуме.
Зачем тогда его вводить?
« Последнее редактирование: Февраль 15, 2010, 09:31 от ymb » Записан
ymb
Гость
« Ответ #1 : Февраль 15, 2010, 13:25 »

Если убрать строку  ui->Edit1->setValidator(new QDoubleValidator(0, 90.0, 1, ui->Edit1));
и оставить только  ui->Edit1->setInputMask("#0.0");
то клавиши "BackSpace" и "Delete" работают.
Записан
crossly
Гость
« Ответ #2 : Февраль 15, 2010, 13:38 »

а зачем одновременно inputmask и валидатор??
Записан
ymb
Гость
« Ответ #3 : Февраль 15, 2010, 18:36 »

Валидатор для проверки значения. А маску для формата.
Если оставить только валидатор, то он ограничивает ввод букв. число можно вводить любое. Значение не проверяется.
Лучше тогда оставить только маску и проверку делать либо при выходе из LineEdit, либо когда буду присваивать значение какой-нибудь переменной.   
Записан
bosfor
Гость
« Ответ #4 : Июль 27, 2010, 15:40 »

Если оставить только валидатор, то он ограничивает ввод букв. число можно вводить любое. Значение не проверяется.

проверяется ...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 20.