Форум программистов, компьютерный форум, киберфорум
Наши страницы

Qt

Войти
Регистрация
Восстановить пароль
 
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
#1

QWebView и Flash Player события мыши - C++ Qt

06.05.2015, 22:59. Просмотров 590. Ответов 10
Метки нет (Все метки)

Добрый вечер!
Все события мыши в QwebView перехватываются отлично, но когда запускается флеш игра и мышь попадает в область флеш плеера - событий от нее вообще никаких нет! что делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2015, 22:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос QWebView и Flash Player события мыши (C++ Qt):

Перехватить нажатие мыши в QWebView. Каким сигналом? - C++ Qt
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ...

Эмуляция нажатия левой кнопки мыши на QWebView (ui->webView) - C++ Qt
QCursor::setPos(60,320); QMouseEvent mouseEvent(QEvent::MouseButtonPress,QCursor ::...

Увеличение масштаба страницы qwebview колесиком мыши с зажатой клавишей Ctrl - C++ Qt
Доброго времени суток. Новичок я пока что в qt. Собственно, имею простейшую отображалку веб-страниц вида: QWebView webView; ...

Flash Player? - C++ Qt
Можно ли SWF игру воспроизводить используя Gui или же может создавать проект по шаблону HTML5 и как - то туда её встраивать? Нужен ли Qt...

Cannot convert 'QWebView' to 'QWebView*' in assignment - C++ Qt
#include "mainwindow.h" #include "ui_mainwindow.h" QWebView browser; MainWindow::MainWindow(QWidget *parent) : ...

Не генерируются события мыши. QT5 - C++ Qt
Волею судеб решил написать drag'n'drop. Соответственно, полез перегружать mousePressEvent. Однако, выяснилась следующая проблема: if...

10
ssXXss
266 / 188 / 10
Регистрация: 15.01.2011
Сообщений: 681
06.05.2015, 23:06 #2
копни в сторону qwebpage , возможно надо будет наследоваться от qwebpage
0
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
06.05.2015, 23:52  [ТС] #3
ssXXss, ок, сейчас попробую

Добавлено через 45 минут
ssXXss, есть хоть какой то пример как использовать QWebpage, а то в документации он один и то не понятен
0
ssXXss
266 / 188 / 10
Регистрация: 15.01.2011
Сообщений: 681
07.05.2015, 00:24 #4
надо шукать в сети, где то я натыкался, у самого скоро будет та же задача, вообще вижу пару вариантов решить эту задачу
1 это создать свой класс наследник от QWebPage и в при первой инициализации QWebView удалить QWebPage * page() const и воткнуть свой , ну и последующие открытия не пропускать . имея контроль над страничкой можно уже управлять запуском скриптов и отлавливать различные сообщения .
2 дурной,даже не хочу его рассматривать ))
погугли qwebview flash player или что то вроде этого
0
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
07.05.2015, 00:30  [ТС] #5
ssXXss, есть какая то возможность эмулировать клик, который пронзит все от верхнего уровня до рабочего стола? клик отправляю на QWebview, обработчик срабатывает, но в флешплеере результата нет(( что вообще отображает флешплеер, мб это виджет, по которому можно кликнуть?)
0
ssXXss
266 / 188 / 10
Регистрация: 15.01.2011
Сообщений: 681
07.05.2015, 00:42 #6
а зачем эмулировать клик ? насколько я понял его нужно отловить ?
0
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
07.05.2015, 00:45  [ТС] #7
Цитата Сообщение от ssXXss Посмотреть сообщение
а зачем эмулировать клик ? насколько я понял его нужно отловить ?
нет, нужно кликать в определенные координаты флешплеера
0
ssXXss
266 / 188 / 10
Регистрация: 15.01.2011
Сообщений: 681
07.05.2015, 01:01 #8
сдается мне что без велосипедостроения тут не обойтись ))) ну для начала надо повесить фильтр событий в классе наследнике от QWebPage ,дальше нужно поймать клик на ссылку или запуск flash , далее зная размеры окна плеера уже посылать сообщения QApplication::sendEvent, :: postEvent
0
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
07.05.2015, 01:05  [ТС] #9
ssXXss, я приблизительно знаю координаты которые мне надо и отправляю на QWebVeiw клик с помощью QApplication::sendEvent и ничего не происходит, если отображается просто вебстраница то клик нормально работает
0
ssXXss
266 / 188 / 10
Регистрация: 15.01.2011
Сообщений: 681
07.05.2015, 01:15 #10
ну под виндой можно тупо глобальный хук повесить и посылать сообщения окну ,как дела у остальных обстоят я не в курсе, глянь сюда может поможет.
0
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
07.05.2015, 20:53  [ТС] #11
хотелось бы кроссплатформенный клик сделать

Добавлено через 7 часов 24 минуты
ssXXss, оказывается флеш плеер имеет 2 режима - оконный и безоконный. в винде по умолчанию оконный, флешплееру система выделяет отдельный HWND, события которого недоступны обьекту из которого он запустился. На Мак ОС флеш плеер запускается в безоконном режиме т.к. там нет поддержки дочерних окон, в теории в безоконном режиме можно получать события плеера. Два варианта решения проблемы - найти как изменить WMODE при запуске плеера или через винапи искать hwnd плеера. Мб я ошибаюсь, но это все что нашел за день
0
07.05.2015, 20:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2015, 20:53
Привет! Вот еще темы с ответами:

Системный трей! и события Мыши. <QMouseEvent> - C++ Qt
Всем привет! Помогите разобраться! Создаю класс, унаследованный от &lt;QSystemTrayIcon&gt; и никак не могу подключить события Мыши. Вызываю...

QML обработка события нажатия мыши - C++ Qt
Rectangle{ color:&quot;red&quot; id:rectanglered anchors.fill: parent MouseArea{ anchors.fill: parent ...

QML обработка события нажатия кнопки мыши - C++ Qt
Собственно. Есть вот такой вот main.qml: import QtQuick 1.1 Rectangle { id: rectangle2 width: 360 height: 360

Обработка события, если курсор мыши находится в радиусе 5-10 пикселей от точки - C++ Qt
Есть график с точками вершин, смысл в том что бы при преближеннии курсора к точке он примагничивался примерно в радиусе 5-10пикслей(что бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru