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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Добавить в QDoubleSpinBox inputMask типа DDDD.DDD;0 ?  (Прочитано 6878 раз)
Alex03
Гость
« : Ноябрь 02, 2007, 09:22 »

Возможно ли без порождения своего класса?
Записан
Kainit
Гость
« Ответ #1 : Ноябрь 02, 2007, 10:05 »

QDoubleSpinBox *doubleSpinBox = new QDoubleSpinBox()
doubleSpinBox ->setDecimals(3 )
doubleSpinBox ->setSuffix(";0" )

Этого недостаточно?
Записан
Alex03
Гость
« Ответ #2 : Ноябрь 02, 2007, 10:13 »

нет.
Мож я кривовато спосил но хочется чегото типа:
Код:
doubleSpinBox->lineEdit()->setInputMask("DDDD.DDD;0");
Вот только QDoubleSpinBox::lineEdit() не public а protected.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Ноябрь 02, 2007, 10:22 »

В таком случае прийдёться наследоваться от QDoubleSpinBox
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Kainit
Гость
« Ответ #4 : Ноябрь 02, 2007, 10:44 »

Да, истинно так, наследование - единственно разумно.
Записан
Dodge
Гость
« Ответ #5 : Ноябрь 02, 2007, 14:31 »

А что валидаторы для лайнэдита отменили уже?
зачем огород городить..

см в асисте - QValidator и его наследников
Записан
Alex03
Гость
« Ответ #6 : Ноябрь 02, 2007, 16:20 »

А что валидаторы для лайнэдита отменили уже?
зачем огород городить..
Валидаторы - совсем другое. Там длина вводимой последовательности переменная, проверка только по факту ввода - потери фокуса и т.д.
Хочется для совсем глупого пользователя "обозначить" все "знакоместа", и чтобы он что ввёл - то и получил. Чтобы не было проблем с вводом точки/запятой и т.д.
Маску я немного не ту указал, хотел "9999.999;0". Сейчас вот думаю что по специфике задачи SpinBox может и не нужен, LineEdit-а в принципе хватит. Обычно просто вводится новое число.
« Последнее редактирование: Ноябрь 02, 2007, 16:23 от Alex03 » Записан
Dodge
Гость
« Ответ #7 : Ноябрь 02, 2007, 16:26 »

Защищенного lineEdit()...
Указатель на лайн эдит, не обязательно получать на прямую. Я почти уверен, что если перебрать чилды SpinBox'а(ну на крайняк чилды, чилдов), то нужный лайнэдит найдется... проблема в другом, он же не просто так скрыт от пользователя... возможно задание пользовательской маски приведет к глюкам... да даже не возможно,, а скорее всего так и будет
Записан
Alex03
Гость
« Ответ #8 : Ноябрь 02, 2007, 16:48 »

Защищенного lineEdit()...
Указатель на лайн эдит, не обязательно получать на прямую.
Я почти уверен, что если перебрать чилды SpinBox'а(ну на крайняк чилды, чилдов), то нужный лайнэдит найдется...
Угу, про это я думал....
Цитировать
проблема в другом, он же не просто так скрыт от пользователя... возможно задание пользовательской маски приведет к глюкам... да даже не возможно,, а скорее всего так и будет
И по этому решил не связываться. Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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