QWebEngineFrame Class
QWebEngineFrame クラスは、ページフレームに関する情報と制御を提供します。詳細...
ヘッダー | #include <QWebEngineFrame> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
qmake: | QT += webenginecore |
以来: | Qt 6.8 |
QML では | webEngineFrame |
パブリック関数
QList<QWebEngineFrame> | children() const |
QString | htmlName() const |
bool | isMainFrame() const |
bool | isValid() const |
QString | name() const |
void | printToPdf(const QString &filePath) |
void | printToPdf(const std::function<void (const QByteArray &)> &callback) |
void | runJavaScript(const QString &script, const std::function<void (const QVariant &)> &callback) |
void | runJavaScript(const QString &script, quint32 worldId = 0) |
void | runJavaScript(const QString &script, quint32 worldId, const std::function<void (const QVariant &)> &callback) |
QSizeF | size() const |
QUrl | url() const |
関連する非メンバ
bool | operator!=(const QWebEngineFrame &left, const QWebEngineFrame &right) |
bool | operator==(const QWebEngineFrame &left, const QWebEngineFrame &right) |
詳細説明
ウェブエンジンフレームは、<frame>
や<iframe>
HTML 要素によって作成されるような、ウェブページ内の単一のフレームを表します。アクティブなQWebEnginePage には、1つ以上のフレームがツリー構造で配置されています。このツリーのルートであるトップレベルのフレームには mainFrame() メソッドでアクセスでき、children() はフレームの直接の子孫を提供します。
フレームの寿命は、最大でもそれを生成したQWebEnginePage オブジェクトと同じです。しかし、フレームは、ナビゲーションやスクリプトの実行などを通じて、自発的かつ動的に作成されたり削除されたりします。このため、多くの QWebEngineFrame メソッドはオプションの値を返し、フレームが存在しなくなった場合はstd::nullopt
になります。
メンバ関数のドキュメント
void QWebEngineFrame::runJavaScript(const QString &script, const std::function<void (const QVariant &)> &callback)
[invokable]
void QWebEngineFrame::runJavaScript(const QString &script, quint32 worldId = 0)
void QWebEngineFrame::runJavaScript(const QString &script, quint32 worldId, const std::function<void (const QVariant &)> &callback)
ページの DOM が構築されているかどうかをチェックせずに、script に含まれる JavaScript コードをこのフレーム上で実行する。ページ上で実行される他のスクリプトとの衝突を避けるため、スクリプトが実行されるワールドはworldId で指定される。ワールドIDの値は、QWebEngineScript::ScriptWorldId で提供されるものと同じで、0
と256
の間にあります。world
IDを省略すると、スクリプトはMainWorld
で実行されます。スクリプトが実行されると、callback が最後に実行されたステートメントの結果で呼び出されます。callback
は、関数ポインタ、ファンクタ、ラムダのいずれかにすることができ、QVariant パラメータを取ることが期待されます。例えば
JavaScriptから結果値として返せるのは、プレーンなデータだけです。サポートされるデータ型には、すべてのJSONデータ型と、例えば、Date
やArrayBuffer
が含まれます。サポートされていないデータ型には、Function
やPromise
などがあります。
警告: Webエンジン・ページのレンダリングがブロックされる可能性があるため、コールバック関数内で長いルーチンを実行しないでください。
警告 callback が常に呼び出されることを保証しますが、ページの破棄時に呼び出される可能性があります。QWebEnginePage が削除されると、コールバックは無効な値でトリガーされ、その内部で対応するQWebEnginePage やQWebEngineView インスタンスを使用することは安全ではありません。
QWebEngineScript::ScriptWorldId 、QWebEnginePage::runJavaScript 、スクリプト・インジェクションも参照してください 。
QList<QWebEngineFrame> QWebEngineFrame::children() const
フレームの子のリストを任意の順序で返します。
フレームが見つからなかった場合は、空のリストを返します。
QString QWebEngineFrame::htmlName() const
フレームのname
HTML 属性の値、または何もない場合は空文字列を返します。
フレームが見つからない場合は、NULLQString を返します。
注: プロパティ htmlName のゲッター関数です。
nameも参照してください 。
bool QWebEngineFrame::isMainFrame() const
このオブジェクトがページのメインフレームを表している場合はtrue
を返し、そうでない場合はfalse
を返します。
注: プロパティisMainFrameのゲッター関数。
bool QWebEngineFrame::isValid() const
このオブジェクトが既存のフレームを表している場合はtrue
を返し、そうでない場合はfalse
を返す。
一度無効となったフレームが再び有効になることはありません。
注: プロパティ isValid のゲッター関数です。
QString QWebEngineFrame::name() const
フレーム名を返します。つまり、JavaScript のwindow.name
で返されるものです。
フレームが見つからない場合は、NULLQString を返します。
注: プロパティ名のゲッター関数。
htmlNameも参照してください 。
[invokable]
void QWebEngineFrame::printToPdf(const QString &filePath)
フレームの現在の内容をPDF文書にレンダリングし、filePath で指定された場所に保存します。印刷では、ページサイズ A4、ポートレートレイアウトを使用し、全ページを含みます。
こ の メ ソ ッ ド は、 Web ページ を PDF へ印刷す る ための非同期要求を発行 し 、 ただちに返 り ます。リクエストの結果を知るには、QWebEnginePage::pdfPrintingFinished() シグナルに接続してください。
メモ : QWebEnginePage::Stop Web ア ク シ ョ ン を使えば、 こ の非同期操作を中断す る こ と がで き ます。
指定されたファイル・パスに既にファイルが存在する場合は、上書きされます。
注意 :この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
QWebEnginePage::pdfPrintingFinished()も参照してください 。
void QWebEngineFrame::printToPdf(const std::function<void (const QByteArray &)> &callback)
フレームの現在の内容を PDF ドキュメントにレンダリングし、PDF データを含むバイト配列をcallback へのパラメータとして返します。印刷は、ページサイズ A4、ポートレートレイアウトを使用し、全ページを含みます。
callback は、QByteArray への const 参照を引数 と し て取 る 必要があ り ます。印刷が成功 し た と き は、 こ のバ イ ト 配列は PDF デー タ を内容 と し て持ち、 そ う でなければバ イ ト 配列は空にな り ます。
注: QWebEnginePage::Stop Web アクションを使用すると、この操作を中断することができます。
QSizeF QWebEngineFrame::size() const
ビューポート内のフレームのサイズを返す。
フレームが見つからない場合はQSizeF()を返す。
注: プロパティsizeのゲッター関数。
QUrl QWebEngineFrame::url() const
このフレームに現在読み込まれているコンテンツの URL を返す。
フレームが見つからない場合は、空のQUrl を返します。
注: プロパティ url のゲッター関数です。
関連する非会員
[noexcept]
bool operator!=(const QWebEngineFrame &left, const QWebEngineFrame &right)
left とright が同じウェブページ内の異なるフレームを表している場合はtrue
を返し、そうでない場合はfalse
を返す。
[noexcept]
bool operator==(const QWebEngineFrame &left, const QWebEngineFrame &right)
left とright が同じウェブページの同じフレームを表している場合はtrue
を返し、そうでない場合はfalse
を返す。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.