のビュー階層を使用しています
QMainWindow >中央ウィジェット> QVBoxLayout > QGraphicsView(800x600固定) > QGraphicsSceneから派生したクラス> QGraphicsWebView(800x600)
jQuery Mobileを利用したHTMLファイルをロードし、ページ間の水平スライドトランジションを使用すると、の値がwindow.outerWidth
2400ピクセルに増加します。ただし、実際のページ幅との値はwindow.innerWidth
800のままです。Webビューでは、左右に800ピクセル幅の白いバーが表示され(水平スクロールバーも2400ピクセルに拡張されます)、中央に新しいjQM「ページ」が表示されます。白いバーを右クリックしてもQtWebViewコンテキストメニューは表示されませんが、中央を右クリックすると機能します。HTML、BODY、DATA-ROLE="page"要素の正しい幅は800pxであると教えてくれた開発者ツール[1]を有効にしました。
これはFirefoxやChromeなどのブラウザで機能しているので、QtのWebビューの実装のバグか、私が見逃した設定だと思います。問題は、トランジション中にスライドイン/スライドアウトするjQMページが幅に考慮されているという事実に起因しているようです。なぜwindow.outerWidth
そのような間違った値を取得するのですか?Webビューのサイズポリシーは効果がないことに注意してください。他に何を試すことができるか?
[1]「検査」コンテキストメニューオプション:
QWebSettings::globalSettings()->setAttribute(
QWebSettings::DeveloperExtrasEnabled,
true);