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 で提供されるものと同じで、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 を返します。
注 :プロパティ 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)
left とright が同じウェブページ内の異なるフレームを表している場合はtrue
を返し、そうでない場合はfalse
を返します。
[noexcept]
bool operator==(const QWebEngineFrame &left, const QWebEngineFrame &right)
left とright が同じ Web ページ内の同じフレームを表している場合はtrue
を返し、そうでない場合はfalse
を返します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。