![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Анна |
![]()
Сообщение
#1
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: ![]() ![]() ![]() |
Суть проблемы:
Есть очень длинная форма для заполнения с QSpinBox, с QComboBox и т.п. Поскольку окно ограничено в размерах, то форма размещена на QScrollArea. При кручении колёсика и прокрутке формы курсор мыши может оказаться на QSpinBox или QComboBox, и тогда их значения резко меняются. Хочется, чтобы прокрутку формы можно было осуществлять только таская бегунок скроллера мышкой. Пожалуйста, помогите реализовать. А то просто зашиваюсь по времени. Если есть возможность "прихлопнуть" возможность изменения значений QSpinBox или QComboBox при вращении колёсика, такой вариант тоже сгодится. Может, такой вариант даже больше подойдёт. |
|
|
![]() |
Анна |
![]()
Сообщение
#2
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: ![]() ![]() ![]() |
покрутил по всякому - вроде работает. Собрала твой пример. ...У меня, по-прежнему, прокрутка останавливается, как только курсор оказывается на любом боксе. Видимо, это реализация QT 5.5.1. Попробую разобраться, почему некорректно завершается приложение, если всё-таки отдать событие области прокрутки через sendEvent(). Почему-то происходит попытка удалить статическую переменную. Я не вижу никакого "криминала" в том, что перехватив событие для бокса я отдаю его в обработку другому виджету. Видимо, какие-то тонкости я не учла. Если разберусь, остановлюсь на этом варианте. Кстати, не вижу смысла устанавливать фокус на scrollArea->widget(). По-моему, предыдущий вариант со сбросом фокуса более приемлем. Сообщение отредактировал Анна - 11.3.2019, 15:31 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 11.5.2025, 2:27 |