HexSpinBox из примера в книге Бланшет |
Здравствуйте, гость ( Вход | Регистрация )
HexSpinBox из примера в книге Бланшет |
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 |
|
|
Steklova Olga |
27.12.2011, 15:18
Сообщение
#2
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
Я, наконец, оценила плюсы созданного класса HexSpinBox.
Вводишь в строке значение < min - автоматически получаешь при потере фокуса равное min. Вводишь в строке значение > max - автоматически получаешь при потере фокуса равное max. У стандартного QSpinBox другой алгоритм. Хорошо, конечно, что нельзя ввести в строке значение > max. Но при вводе значения < min при потере фокуса автоматически устанавливается предыдущее значение. Мне кажется, что логичнее было бы устанавливать при этом min значение. Написала в результате себе класс DecSpinBox, аналогичный HexSpinBox. А стандартный QSpinBox удобен, если min значение = 0. Сообщение отредактировал Steklova Olga - 27.12.2011, 15:22 |
|
|
Текстовая версия | Сейчас: 27.11.2024, 6:18 |