このページでは

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 になります。

プロパティのドキュメント

[read-only] children : QList<QWebEngineFrame>

このプロパティは、フレームの子のリストを任意の順序で保持します。

フレームが見つからない場合は、空のリストを返します。

アクセス関数:

QList<QWebEngineFrame> children() const

[read-only] htmlName : QString

このプロパティは、フレームのname HTML 属性の値、またはフレームに何もない場合は空の文字列を保持します。

フレームが見つからない場合は、NULLQString を返します。

アクセス関数:

QString htmlName() const

nameも参照してください

[read-only] isMainFrame : bool

このプロパティは、このオブジェクトがページのメインフレームを表しているかどうかを保持する。

アクセス関数です:

bool isMainFrame() const

[read-only] isValid : bool

このプロパティは、このオブジェクトが既存のフレームを表しているかどうかを保持する。

一度無効となったフレームが再び有効になることはありません。

アクセス関数:

bool isValid() const

[read-only] name : QString

このプロパティはフレーム名を保持する。つまり、JavaScriptでwindow.name

フレームが見つからない場合は、NULLQString を返します。

アクセス関数:

QString name() const

htmlNameも参照してください

[read-only] size : QSizeF

このプロパティは、ビューポート内のフレームのサイズを、論理ピクセル単位で保持する。

100%以外のスケールファクタを持つデバイスでは、これは画面上のサイズに対応せず、代わりにスケーリングが適用される前のサイズとなる。そのような場合、サイズは小数値を含むことがあります。

フレームが見つからなかった場合は、QSizeF()を返します。

アクセス関数:

QSizeF size() const

[read-only] url : QUrl

このプロパティは、このフレームに現在ロードされているコンテンツの URL を保持する。

フレームが見つからない場合は、空のQUrl を返します。

アクセス関数

QUrl url() const

メンバー関数ドキュメント

[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 アクションを使用すると、この操作を中断することができます。

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 で提供されるものと同じで、0256 の間にあります。world IDを省略すると、スクリプトはMainWorld で実行されます。スクリプトが実行されると、callback が最後に実行されたステートメントの結果で呼び出されます。callback は、関数ポインタ、ファンクタ、ラムダのいずれかにすることができ、QVariant パラメータを取ることが期待されます。例えば

page.runJavaScript("document.title", [](const QVariant &v) { qDebug() << v.toString(); });

JavaScriptから結果値として返せるのは、プレーンなデータだけです。サポートされるデータ型には、すべてのJSONデータ型と、例えば、DateArrayBuffer が含まれます。サポートされていないデータ型には、FunctionPromise などがあります。

警告: Webエンジン・ページのレンダリングがブロックされる可能性があるため、コールバック関数内で長いルーチンを実行しないでください。

警告 callback が常に呼び出されることを保証しますが、ページの破棄時に呼び出される可能性があります。QWebEnginePage が削除されると、コールバックは無効な値でトリガーされ、その内部で対応するQWebEnginePageQWebEngineView インスタンスを使用することは安全ではありません。

QWebEngineScript::ScriptWorldIdQWebEnginePage::runJavaScriptスクリプト・インジェクションも参照してください

関連する非会員

[noexcept] bool operator!=(const QWebEngineFrame &left, const QWebEngineFrame &right)

leftright が同じウェブページ内の異なるフレームを表している場合はtrue を返し、そうでない場合はfalse を返す。

[noexcept] bool operator==(const QWebEngineFrame &left, const QWebEngineFrame &right)

leftright が同じウェブページの同じフレームを表している場合はtrue を返し、そうでない場合はfalse を返す。

© 2026 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.