![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Steklova Olga |
![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте!
Мне понадобился в программе виджет для редактирования 16-ного числа с диапазоном [0..FFFFFF]. Использовала для этого QLineEdit. Более-менее работает, но хочется менять значение по стрелочкам, как в QSpinBox.Нашла в книге Ж.Бланшет "Qt4 программирование QUI на C++" в главе 5 пример, где на основе QSpinBox создается класс HexSpinBox. Там установлен диапазон значений, он правильно анализируется при изменении значения по стрелочкам, НО юзер может ввести значение, превышающее диапазон. Как это исправить? Сообщение отредактировал Steklova Olga - 27.12.2011, 10:33 |
|
|
![]() |
Steklova Olga |
![]()
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Наверное, окончательный вариант кода:
main.cpp Раскрывающийся текст
Раскрывающийся текст
Раскрывающийся текст
Цитата Вам же этого не хотелось. Вам хотелось чтобы пользователь просто не мог вводить и все. Мне на самом деле хотелось, чтобы пользователю было max удобно вводить данные, и чтобы программа была написана так, как положено у хороших программистов. А Вы, BlueIceScream, мне очень подробно пояснили этот пример. Благодарю Вас! И еще на тему ввода... В окне диалога задаю значения для нескольких параметров, затем закрываю диалог, нажав одну из кнопок Применить или Отмена. Для некоторых параметров просто выбираю одно значение. А вот для других выбираю диапазон, то есть задаю и min, и max значение. Я позволяю задать min значение больше max значения, а по кнопке Применить в таком случае отображаю эти значения красным цветом, а также вывожу в окне диалога красным цветом надпись "Неверно задан диапазон значений". А как это обычно делают? |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 28.5.2025, 1:09 |