Russian Qt Forum
Ноябрь 25, 2024, 12:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Доступиться до scroll в QWebView  (Прочитано 5004 раз)
kirill
Гость
« : Март 18, 2009, 13:34 »

Есть объект QWebView он наследник от QWidget.
Я отрабатываю мышиные тыкания в него в eventFilter

Код:
   if ((ev->type() == QEvent::MouseButtonPress) || (ev->type() == QEvent::MouseButtonDblClick))
   {
      if (qobject_cast<QWebView *>(obj))
      {
             //мои действия
      }
    }

Но! Я не хочу обрабатывать щелчки по скролу. Скрол хочу отдать обрабатывать назад
Код:
return false;
Но как понять что клик был по скролу? Куда бы я не щелкал везде отрабатывает       
Код:
qobject_cast<QWebView *>(obj) == true

Как добраться до scrollbar-a?
« Последнее редактирование: Март 18, 2009, 20:02 от kirill » Записан
shadone
Гость
« Ответ #1 : Март 18, 2009, 14:40 »

скроллбары в qwebview не являются теми же самыми скроллбарами как в остальных виджетах, поэтому доступ к ним пока получить не получится (хотя возможно есть какой-нибудь "хак", но я не в курсе). в 4.6 должен быть api для этого.
Записан
kirill
Гость
« Ответ #2 : Март 19, 2009, 06:59 »

Печально.
Придется химичить с размерами.
Записан
blood_shadow
Гость
« Ответ #3 : Февраль 22, 2011, 12:50 »

скроллбары в qwebview не являются теми же самыми скроллбарами как в остальных виджетах, поэтому доступ к ним пока получить не получится (хотя возможно есть какой-нибудь "хак", но я не в курсе). в 4.6 должен быть api для этого.
народ так в Qt 4.7.0 так и не появился способ получить указатель на скроллбары? необходимо обработать в событиях фокус именно на скроллбаре который лежит в qwebview
Записан
dd
Гость
« Ответ #4 : Февраль 23, 2011, 03:40 »

Не проверял, но навскидку:
а что вернет вызов:

Код:
QWebView::findChildren<QScrollBar*>()

?
Записан
shadone
Гость
« Ответ #5 : Февраль 23, 2011, 14:10 »

скроллбары в qwebview не являются теми же самыми скроллбарами как в остальных виджетах, поэтому доступ к ним пока получить не получится (хотя возможно есть какой-нибудь "хак", но я не в курсе). в 4.6 должен быть api для этого.
народ так в Qt 4.7.0 так и не появился способ получить указатель на скроллбары? необходимо обработать в событиях фокус именно на скроллбаре который лежит в qwebview
подобный api скорее всего никогда не появится т.к. scrollbar в QWebView не является обычным QScrollBar а рисуется самим движком webkit (по простой причине - javascript должен имет полный доступ к скроллбарам и иметь возможность изменить их вид и поведение).
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.044 секунд. Запросов: 20.