問題タブ [qwebengineview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3714 参照

c++ - Qt QWebEngineView はローカル リソースのロードを許可されていません

編集:これは重複ではありません。リンクされた質問は、ブラウザーがさまざまなソースからスクリプトをロードできない CORS セキュリティ質問を処理します。私の質問は、基本的なリソース読み込みスキーム (file:///vsqrc:/) に関連しています。

スキームを使用して QWebEngineView にローカルの html ドキュメントをロードしようとしていますfile:///。html ファイルは、ローカルに保存されている jquery ライブラリも参照します。ページをロードするためのコードは次のとおりです。

そして、次の最小限の html ドキュメント:

ドキュメントは正常に読み込まれますが、JavaScript は次のエラーで失敗します。

とにかくQWebEngineViewにスクリプトをロードして実行させるにはどうすればよいですか?

編集: @eyllanesc の提案に従って進め、すべてのファイルを qrc リソースとして追加しました。これは今では完全にうまく機能します。

更新されたソース コードは次のとおりです (C++ コードと HTML コードの両方で qrc リソースへの参照に注意してください)。

対応する html ファイル:

0 投票する
2 に答える
7284 参照

python - PyQt5 Web エンジンの html でローカル ファイルを使用する

プロット グラフを PyQt5 Web エンジン ビューに埋め込もうとしています。私は以下を使用してそうすることができました:

インタラクティブモードでqwebviewでplotlyを開く

読んでみると、この記事では、webengine ビューを使用する場合、HTML に JavaScript を直接含めることはできないと説明されています (2 MB を超えるファイルの読み込みに問題があります)。ただし、javascript のソースが plotly-min.js (プロジェクト フォルダーに保存されている) のローカル コピーであるようにしようとしているので、プログラムを使用している人は誰でもグラフを表示するためにインターネット接続を必要としません。生成します。HTMLでいくつかの例を追おうとしましたが、役に立ちませんでした。

インターネット接続で動作する元のコードは次のとおりです。

私がそれを正しく理解していれば、この部分を変更する必要があります:

私はすでに試しました:

私は正直なところHTMLを知りません。コード内の HTML はこれだけです (残りは Python 3 にあります)。上記が機能しない理由と、何を変更する必要があるかを知っている人はいますか? HTMLでローカルファイルを参照する方法についてオンラインで見つけたさまざまなバリエーションが何も変わらないように見えるため、上記の質問で参照されている2 MBの制限に何らかの形で実行されているのではないかと疑っています。

0 投票する
3 に答える
1365 参照

python - QWebEnginePage のオブジェクトであるメソッド「toHtml」を同期的に呼び出す方法はありますか?

QWebEnginePage オブジェクトから html コードを取得しようとしています。Qt のリファレンスによると、QWebEnginePage オブジェクトの「toHtml」は以下のように非同期メソッドです。

ページのコンテンツを HTML として取得する非同期メソッドで、HTML タグと BODY タグで囲まれています。正常に完了すると、ページのコンテンツとともに resultCallback が呼び出されます。

そのため、このメソッドを同期的に呼び出す方法を見つけようとしました。

私が得たい結果は以下の通りです。