Здравствуйте, гость ( Вход | Регистрация )
|
Алексей |
30.8.2010, 18:18
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 37 Регистрация: 29.8.2010 Пользователь №: 1988 Спасибо сказали: 0 раз(а) Репутация: 0
|
Как отключить скроллинг в QScrollArea который возникает при использовании колеса мыши?
|
|
|
|
![]() |
|
Sokoloff |
30.8.2010, 18:29
Сообщение
#2
|
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11
|
Цитата(Алексей @ 30.8.2010, 19:18) Link Как отключить скроллинг в QScrollArea который возникает при использовании колеса мыши? Перекрыть ScrollArea::wheelEvent Link и для события дернуть ignore()
|
|
|
|
|
Алексей |
30.8.2010, 18:52
Сообщение
#3
|
|
Студент ![]() Группа: Участник Сообщений: 37 Регистрация: 29.8.2010 Пользователь №: 1988 Спасибо сказали: 0 раз(а) Репутация: 0
|
а на с++ только через фильтр?
|
|
|
|
|
ufna |
30.8.2010, 18:59
Сообщение
#4
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5
|
а причем здесь сипипи?
|
|
|
|
|
Алексей |
30.8.2010, 19:08
Сообщение
#5
|
|
Студент ![]() Группа: Участник Сообщений: 37 Регистрация: 29.8.2010 Пользователь №: 1988 Спасибо сказали: 0 раз(а) Репутация: 0
|
пример выше на питоне - мне не понятно что он демонстрирует, поэтому уточняю про си, чтоб потом ещё раз не переспрашивать, а так конечно вопрос: только через фильтр можно сделать?
|
|
|
|
|
ufna |
30.8.2010, 20:43
Сообщение
#6
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5
|
думаю что да, но installEventFilter() просто в использовании, можно класс не переопределять.
|
|
|
|
|
Litkevich Yuriy |
30.8.2010, 22:11
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(Алексей @ 30.8.2010, 23:08) Link пример выше на питоне - мне не понятно что он демонстрирует, поэтому уточняю про си Запись в питонесоответсвует записи в Си++:
|
|
|
|
|
Sokoloff |
30.8.2010, 23:40
Сообщение
#8
|
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11
|
Цитата(Алексей @ 30.8.2010, 20:08) Link пример выше на питоне - мне не понятно что он демонстрирует, поэтому уточняю про си, чтоб потом ещё раз не переспрашивать, а так конечно вопрос: только через фильтр можно сделать? Что то с сайтом были проблемы, поэтому отвечаю только сейчас. Пример был на питоне, потому что у меня был в это время открыт питоновский проект. А так, от языка здесь ничего не зависит, это чисто Qt-шная фишка. На C++ это будет выглядеть так: Где YourClass - это твой наследник от ScrollArea. В этом же методе ты можешь реализовать свою обработку колеса мыши. Сообщение отредактировал Sokoloff - 30.8.2010, 23:46 |
|
|
|
|
Алексей |
2.9.2010, 17:16
Сообщение
#9
|
|
Студент ![]() Группа: Участник Сообщений: 37 Регистрация: 29.8.2010 Пользователь №: 1988 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(ufna @ 30.8.2010, 23:43) Link думаю что да, но installEventFilter() просто в использовании, можно класс не переопределять В конструкторе устанавливаю фильтры: в фильтре: Но прокрутка всё равно не исчезает пробовал даже на Qlabel внутри scrollArea добавлять фильтр - всё равно не помогает. Цитата(Sokoloff @ 31.8.2010, 2:40) Link Что то с сайтом были проблемы, поэтому отвечаю только сейчас. У меня тоже с сайтом были проблемы, так что всё норм. Цитата(Sokoloff @ 31.8.2010, 2:40) Link Где YourClass - это твой наследник от ScrollArea. Не хотелось бы делать наследника, так как для компоновки диалога использую дизайнер, а для того чтобы созданный виджет корректно отображался в нём нужно создавать плагин для дизайнера, что пока ещё в процессе освоения. |
|
|
|
|
Sokoloff |
2.9.2010, 17:32
Сообщение
#10
|
|
Участник ![]() ![]() Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11
|
Цитата(Алексей @ 2.9.2010, 18:16) Link Не хотелось бы делать наследника, так как для компоновки диалога использую дизайнер, а для того чтобы созданный виджет корректно отображался в нём нужно создавать плагин для дизайнера, что пока ещё в процессе освоения. А вот и не надо, в дизайнере есть обалденная вещь "Promoting" (в русском переводе "Преобразовать в..."). Прям в дизайнере указываешь, что вместо QScrollArea, надо использовать твой класс из такого то заголовочного файла. Link Очень удобно, и структурировано, логика относящаяся к определенному виджету находится именно в его классе, а не где-то еще. |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 15.12.2025, 16:40 |