2017-02-01 13 views
2

Qt 5.5.1(別のバージョンに切り替えることはできません)、Windows(7または10は問題ありません)で動作するプログラムをC++で作成しました。 。QWebViewにロードされたSWFにmouseWheelEventを送信する方法

だから私はQWebViewからサブクラス一部FlashWidgetを、持っています。マウスダウン、アップ、マウスホイール

addEventListener(MouseEvent.MOUSE_WHEEL, zoom); //"zoom" is just some internal function 
    addEventListener(MouseEvent.MOUSE_DOWN, mouseDown1); 
    addEventListener(MouseEvent.MOUSE_UP, mouseReleased); 

問題:これは、SWFファイルは、マウスイベントのイベントリスナーを持っている*

<object class="flashPlayer" width=90% height=100% type="application/x-shockwave-flash" id="bridgemovie" data="%1" > <param name="allowScriptAccess" value="always"/> </object> 

.SWF、htmlファイルをロードし、それを解析しに適切なパスに%1を置き換えます:ドラッグ&クリックはうまくいきますが、ロードされたSWFはホイールイベントを受け取りません。私はSWFコードを変更することはできず、C++とHTMLの部分だけを変更することはできません。だから、どうやってJSからmouseWheelイベント(または、おそらくQWebView)をロードされたSWFファイルに渡すことができますか?

P.S. QAxWidgetでSWFを読み込もうとしましたが、wheelEventが受信されましたが、レンダリングに問題があるため、QWebViewでソリューションを修復しようとしています。

答えて

0

新しいバージョンとQWebEngineではこのような問題はないので、QWebkitのバグのようです。代わりにQAxWidgetを使用してみます。

関連する問題