Здравствуйте, гость ( Вход | Регистрация )
|
Steklova Olga |
23.12.2011, 16:18
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4
|
Здравствуйте!
Мне понадобился в программе виджет для редактирования 16-ного числа с диапазоном [0..FFFFFF]. Использовала для этого QLineEdit. Более-менее работает, но хочется менять значение по стрелочкам, как в QSpinBox.Нашла в книге Ж.Бланшет "Qt4 программирование QUI на C++" в главе 5 пример, где на основе QSpinBox создается класс HexSpinBox. Там установлен диапазон значений, он правильно анализируется при изменении значения по стрелочкам, НО юзер может ввести значение, превышающее диапазон. Как это исправить? Сообщение отредактировал Steklova Olga - 27.12.2011, 10:33 |
|
|
|
![]() |
|
BlueIceScream |
26.12.2011, 16:25
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 56 Регистрация: 21.11.2011 Из: Республика Дагестан Пользователь №: 3016 Спасибо сказали: 18 раз(а) Репутация: 3
|
Цитата НО, если в setRange указать ненулевое min значение, то программа тут же сломается!!! Что с этим делать? Пожалуйста не используйте setRange в конструкторе. Используйте эту функцию сразу после создания объекта. Как делаете обычно для QSpinBox. Я использовала ее в конструкторе потому что введенное по умолчанию значение через setRange проходит проверку в любом случае. Цитата А можно еще сделать так, чтобы юзеру было разрешено в строке вводить 'a'...'f', но они бы сразу отображались в верхнем регистре? При входе в QValidator::State HexSpinBox::validate(QString &text, int &pos) используйте пожалуйста: text=text.toUpper(); |
|
|
|
Steklova Olga HexSpinBox из примера в книге Бланшет 23.12.2011, 16:18
BlueIceScream Не совсем понятно что вам нужно. Пользователю позв... 23.12.2011, 22:06
Steklova Olga Спасибо за внимание, BlueIceScream
Заменила в кни... 26.12.2011, 10:52
Steklova Olga Получился вот такой код (правда, в таком варианте ... 26.12.2011, 18:33
BlueIceScream ЦитатаPS Получается, что в книге Бланшет фраза на ... 26.12.2011, 19:56
Steklova Olga Наверное, окончательный вариант кода:
main.cppРаск... 27.12.2011, 12:06
wiz29 Везде делают по-разному, все зависит от стиля инфо... 27.12.2011, 12:13
Steklova Olga Я, наконец, оценила плюсы созданного класса HexSpi... 27.12.2011, 15:18
BlueIceScream Если необходима тотальная изоляция неправильных вв... 27.12.2011, 18:10![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 29.12.2025, 14:13 |