QWebEngineFrame Class

QWebEngineFrame クラスは、ページフレームに関する情報と制御を提供します。詳細...

Header: #include <QWebEngineFrame>
CMake: find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake: QT += webenginecore
Since: Qt 6.8
In 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 で提供されるものと同じで、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 、およびスクリプト・インジェクションも参照してください

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 を返します。

:プロパティ name のゲッター関数。

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()を返します。

注: プロパティ・サイズのゲッター関数。

QUrl QWebEngineFrame::url() const

このフレームに現在読み込まれているコンテンツのURLを返します。

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

備考 :プロパティ url のゲッター関数。

関連する非会員

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

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

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

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

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。