crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Прокрутка в QScrollArea
Анна
  опции профиля:
сообщение 26.2.2019, 18:00
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 276
Регистрация: 22.5.2008
Из: Зеленоград
Пользователь №: 181

Спасибо сказали: 30 раз(а)




Репутация:   4  


Суть проблемы:
Есть очень длинная форма для заполнения с QSpinBox, с QComboBox и т.п. Поскольку окно ограничено в размерах, то форма размещена на QScrollArea.
При кручении колёсика и прокрутке формы курсор мыши может оказаться на QSpinBox или QComboBox, и тогда их значения резко меняются.

Хочется, чтобы прокрутку формы можно было осуществлять только таская бегунок скроллера мышкой.
Пожалуйста, помогите реализовать. А то просто зашиваюсь по времени.
Если есть возможность "прихлопнуть" возможность изменения значений QSpinBox или QComboBox при вращении колёсика, такой вариант тоже сгодится. Может, такой вариант даже больше подойдёт.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 12.3.2019, 12:34
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2885
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Анна, это ты про lanz'а, наверное, говоришь http://www.forum.crossplatform.ru/index.php?showuser=3660
- давненько не появляется почему-то. И вообще, я его сообщений как-то не нашёл, то ли он их поудалял все

насчёт краша - надо для начала ловить в отладчике, где остановилось, а там раскрутить стек обратно. Часто этого бывает достаточно для поиска проблемы

Если проблема связана со сроком жизни объекта, сделай его удаление явным (сейчас в его конструктор передаётся указатель на объект-парент, который вызывает delete своего чайлда в своём деструкторе). Например, в приватном мембере-указателе сохрани адрес фильтра-объекта, а в деструкторе вызови для него delete явно. Либо вообще попробуй вынести объект фильтра из "опекаемого" класса. Тогда экземпляр фильтра можно заставить жить дольше экземпляра "опекаемого" класса

Сообщение отредактировал Алексей1153 - 12.3.2019, 12:35
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Анна
  опции профиля:
сообщение 13.3.2019, 10:54
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 276
Регистрация: 22.5.2008
Из: Зеленоград
Пользователь №: 181

Спасибо сказали: 30 раз(а)




Репутация:   4  


Цитата(Алексей1153 @ 12.3.2019, 12:34) *
Анна, это ты про lanz'а, наверное, говоришь http://www.forum.crossplatform.ru/index.php?showuser=3660
- давненько не появляется почему-то. И вообще, я его сообщений как-то не нашёл, то ли он их поудалял все

Да, кажется, он.
Цитата
насчёт краша - надо для начала ловить в отладчике, где остановилось, а там раскрутить стек обратно. Часто этого бывает достаточно для поиска проблемы

Проблема решилась полной пересборкой. Похоже, я своими экспериментами довела msvc до ручки.

Ещё раз большое спасибо. Ты меня здорово выручил. Правда, я закомментила кусок со сбрасыванием фокуса с бокса. Бокс и так теряет фокус, если колесо крутится не на нём. И я сделала хандлер ребёнком от основного виджета.
Будет время, попробую сделать так, чтобы прокрутка срабатывала только при наезде мышки на вертикальный или горизонтальный скроллер,

Сообщение отредактировал Анна - 13.3.2019, 11:07
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Анна   Прокрутка в QScrollArea   26.2.2019, 18:00
- - Алексей1153   Анна, прочитай описание void QWidget::wheelEvent(...   27.2.2019, 7:44
- - Анна   Спасибо. Совсем забыла про installEventFiltr(). Бе...   27.2.2019, 11:16
- - Алексей1153   Анна, где диапазон типа unsigned int или long long...   27.2.2019, 13:20
- - Анна   Не скажите. Многие инженеры стрелочками спинбоксов...   27.2.2019, 15:31
- - Анна   Не скажите. Многие инженеры стрелочками спинбоксов...   28.2.2019, 12:48
- - Анна   В общем, получился такой вариант: bool MyWidget...   28.2.2019, 16:32
- - Анна   Осталось только выудить спинбоксы, которые размеще...   1.3.2019, 14:43
- - Алексей1153   Анна, Раскрывающийся текствместо такой конструк...   1.3.2019, 20:03
|- - Анна   Цитата(Алексей1153 @ 1.3.2019, 20:03) Анн...   4.3.2019, 10:57
|- - Анна   Цитата(Алексей1153 @ 1.3.2019, 20:03) Анн...   4.3.2019, 15:14
- - Алексей1153   Анна, ЦитатаThe qobject_cast() function behaves ...   4.3.2019, 11:24
- - Алексей1153   Анна, у меня вроде не затыкается, либо скажи, как ...   4.3.2019, 15:37
- - Анна   Алексей1153, Цитата(Алексей1153 @ 4.3.2019, 1...   4.3.2019, 16:12
- - Алексей1153   Раскрывающийся текстЦитата(Анна @ 4.3.2019, 1...   4.3.2019, 18:37
- - Анна   Цитата(Алексей1153 @ 4.3.2019, 18:37) вот...   6.3.2019, 13:52
- - Алексей1153   Анна, Свой виджет давать не надо, просто накидай в...   6.3.2019, 14:29
- - Анна   Цитата(Алексей1153 @ 6.3.2019, 14:29) нак...   6.3.2019, 16:32
- - Алексей1153   Цитата(Анна @ 6.3.2019, 18:32) А что каса...   6.3.2019, 17:56
- - Анна   Цитата(Алексей1153 @ 6.3.2019, 17:56) нел...   6.3.2019, 19:16
- - Алексей1153   Анна, щас попробую с QMdiSubWindow пример нарисова...   6.3.2019, 19:34
- - Алексей1153   кое-что исправил и упростил. В примере две кнопки ...   6.3.2019, 21:05
- - Анна   Цитата(Алексей1153 @ 6.3.2019, 21:05) пок...   11.3.2019, 15:30
- - Алексей1153   Анна, у меня Qt 5.9.2, а на сайте уже аж 5.13 htt...   11.3.2019, 16:01
- - Анна   Цитата(Алексей1153 @ 11.3.2019, 15:58) ht...   11.3.2019, 16:22
- - Анна   Цитата(Алексей1153 @ 11.3.2019, 16:01) ты...   11.3.2019, 17:42
- - Алексей1153   Цитата(Анна @ 11.3.2019, 18:22) Там в sin...   11.3.2019, 18:18
- - Анна   Цитата(Алексей1153 @ 11.3.2019, 18:18) не...   12.3.2019, 10:30
- - Анна   Затыки прокрутки при попадании мышки на бокс решил...   12.3.2019, 12:15
- - Алексей1153   Анна, это ты про lanz'а, наверное, говоришь ht...   12.3.2019, 12:34
|- - Анна   Цитата(Алексей1153 @ 12.3.2019, 12:34) Ан...   13.3.2019, 10:54
- - Алексей1153   Цитата(Анна @ 13.3.2019, 12:54) Проблема ...   13.3.2019, 12:25


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.8.2019, 19:16