QWebEnginePage Class
QWebEnginePage クラスは、Web ドキュメントを閲覧・編集するためのオブジェクトを提供します。詳細...
Header: | #include <QWebEnginePage> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
qmake: | QT += webenginecore |
Inherits: | QObject |
パブリックタイプ
enum | FileSelectionMode { FileSelectOpen, FileSelectOpenMultiple, FileSelectUploadFolder, FileSelectSave } |
enum | FindFlag { FindBackward, FindCaseSensitively } |
flags | FindFlags |
enum | JavaScriptConsoleMessageLevel { InfoMessageLevel, WarningMessageLevel, ErrorMessageLevel } |
enum class | LifecycleState { Active, Frozen, Discarded } |
enum | NavigationType { NavigationTypeLinkClicked, NavigationTypeTyped, NavigationTypeFormSubmitted, NavigationTypeBackForward, NavigationTypeReload, …, NavigationTypeOther } |
enum | RenderProcessTerminationStatus { NormalTerminationStatus, AbnormalTerminationStatus, CrashedTerminationStatus, KilledTerminationStatus } |
enum | WebAction { NoWebAction, Back, Forward, Stop, Reload, …, ChangeTextDirectionRTL } |
enum | WebWindowType { WebBrowserWindow, WebBrowserTab, WebDialog, WebBrowserBackgroundTab } |
プロパティ
|
|
パブリック関数
QWebEnginePage(QObject *parent = nullptr) | |
QWebEnginePage(QWebEngineProfile *profile, QObject *parent = nullptr) | |
virtual | ~QWebEnginePage() |
QAction * | action(QWebEnginePage::WebAction action) const |
QColor | backgroundColor() const |
QSizeF | contentsSize() const |
(since 6.6) QString | devToolsId() const |
QWebEnginePage * | devToolsPage() const |
void | download(const QUrl &url, const QString &filename = QString()) |
(since 6.8) std::optional<QWebEngineFrame> | findFrameByName(QAnyStringView name) |
void | findText(const QString &subString, QWebEnginePage::FindFlags options = {}, const std::function<void (const QWebEngineFindTextResult &)> &resultCallback = std::function<void(const QWebEngineFindTextResult &)>()) |
bool | hasSelection() const |
QWebEngineHistory * | history() const |
QIcon | icon() const |
QUrl | iconUrl() const |
QWebEnginePage * | inspectedPage() const |
bool | isAudioMuted() const |
bool | isLoading() const |
bool | isVisible() const |
QWebEnginePage::LifecycleState | lifecycleState() const |
void | load(const QUrl &url) |
void | load(const QWebEngineHttpRequest &request) |
(since 6.8) QWebEngineFrame | mainFrame() |
void | printToPdf(const QString &filePath, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges &ranges = {}) |
void | printToPdf(const std::function<void (const QByteArray &)> &resultCallback, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges &ranges = {}) |
QWebEngineProfile * | profile() const |
bool | recentlyAudible() const |
QWebEnginePage::LifecycleState | recommendedState() const |
qint64 | renderProcessPid() const |
void | replaceMisspelledWord(const QString &replacement) |
QUrl | requestedUrl() const |
void | runJavaScript(const QString &scriptSource, const std::function<void (const QVariant &)> &resultCallback) |
void | runJavaScript(const QString &scriptSource, quint32 worldId = 0, const std::function<void (const QVariant &)> &resultCallback = {}) |
void | save(const QString &filePath, QWebEngineDownloadRequest::SavePageFormat format = QWebEngineDownloadRequest::MimeHtmlSaveFormat) const |
QWebEngineScriptCollection & | scripts() |
QPointF | scrollPosition() const |
QString | selectedText() const |
void | setAudioMuted(bool muted) |
void | setBackgroundColor(const QColor &color) |
void | setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl()) |
void | setDevToolsPage(QWebEnginePage *devToolsPage) |
void | setHtml(const QString &html, const QUrl &baseUrl = QUrl()) |
void | setInspectedPage(QWebEnginePage *page) |
void | setLifecycleState(QWebEnginePage::LifecycleState state) |
void | setUrl(const QUrl &url) |
void | setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor) |
void | setVisible(bool visible) |
void | setWebChannel(QWebChannel *channel, quint32 worldId = 0) |
void | setZoomFactor(qreal factor) |
QWebEngineSettings * | settings() const |
QString | title() const |
void | toHtml(const std::function<void (const QString &)> &resultCallback) const |
void | toPlainText(const std::function<void (const QString &)> &resultCallback) const |
virtual void | triggerAction(QWebEnginePage::WebAction action, bool checked = false) |
QUrl | url() const |
QWebChannel * | webChannel() const |
qreal | zoomFactor() const |
再実装パブリック関数
virtual bool | event(QEvent *e) override |
シグナル
void | audioMutedChanged(bool muted) |
void | authenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator) |
void | certificateError(const QWebEngineCertificateError &certificateError) |
void | contentsSizeChanged(const QSizeF &size) |
(since 6.4) void | fileSystemAccessRequested(QWebEngineFileSystemAccessRequest request) |
void | findTextFinished(const QWebEngineFindTextResult &result) |
void | fullScreenRequested(QWebEngineFullScreenRequest fullScreenRequest) |
void | geometryChangeRequested(const QRect &geom) |
void | iconChanged(const QIcon &icon) |
void | iconUrlChanged(const QUrl &url) |
void | lifecycleStateChanged(QWebEnginePage::LifecycleState state) |
void | linkHovered(const QString &url) |
void | loadFinished(bool ok) |
void | loadProgress(int progress) |
void | loadStarted() |
(since 6.2) void | loadingChanged(const QWebEngineLoadingInfo &loadingInfo) |
(since 6.2) void | navigationRequested(QWebEngineNavigationRequest &request) |
(since 6.2) void | newWindowRequested(QWebEngineNewWindowRequest &request) |
void | pdfPrintingFinished(const QString &filePath, bool success) |
(since 6.8) void | permissionRequested(QWebEnginePermission permission) |
void | printRequested() |
(since 6.8) void | printRequestedByFrame(QWebEngineFrame frame) |
void | proxyAuthenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator, const QString &proxyHost) |
void | recentlyAudibleChanged(bool recentlyAudible) |
void | recommendedStateChanged(QWebEnginePage::LifecycleState state) |
void | registerProtocolHandlerRequested(QWebEngineRegisterProtocolHandlerRequest request) |
void | renderProcessPidChanged(qint64 pid) |
void | renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode) |
void | scrollPositionChanged(const QPointF &position) |
void | selectClientCertificate(QWebEngineClientCertificateSelection clientCertificateSelection) |
void | selectionChanged() |
void | titleChanged(const QString &title) |
void | urlChanged(const QUrl &url) |
void | visibleChanged(bool visible) |
(since 6.7) void | webAuthUxRequested(QWebEngineWebAuthUxRequest *request) |
void | windowCloseRequested() |
(since 6.8) void | zoomFactorChanged(qreal factor) |
保護された関数
virtual bool | acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame) |
virtual QStringList | chooseFiles(QWebEnginePage::FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes) |
virtual QWebEnginePage * | createWindow(QWebEnginePage::WebWindowType type) |
virtual void | javaScriptAlert(const QUrl &securityOrigin, const QString &msg) |
virtual bool | javaScriptConfirm(const QUrl &securityOrigin, const QString &msg) |
virtual void | javaScriptConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID) |
virtual bool | javaScriptPrompt(const QUrl &securityOrigin, const QString &msg, const QString &defaultValue, QString *result) |
詳細説明
ウェブエンジンページは、HTMLドキュメントのコンテンツ、ナビゲートされたリンクの履歴、アクションを保持します。
QWebEnginePage の API はQWebEngineView と非常によく似ています。action() (QWebEngineView ではpageAction() として知られています)、triggerAction()、findText() などの一般的な関数が提供されています。
ページの読み込みには、load ()またはsetUrl ()を使用します。また、HTMLコンテンツがすぐに利用できる場合は、setHtml ()を使用することもできます。URL のロードには常に GET メソッドが使用されます。
QWebEnginePage クラスには、ページが現在読み込んでいる URL (url() を参照) と、元々読み込むように要求されていた URL (requestedUrl() を参照) の両方を取得するメソッドも用意されています。これらのメソッドは、ロード処理中にDNS解決やリダイレクトが発生する前と後のURLの取得を可能にします。requestedUrl()は、読み込みが成功した場合に、ページ履歴に追加されるURL (QWebEngineHistory) にもマッチする。
HTMLページのタイトルには、title ()プロパティでアクセスできます。さらに、ページにはアイコンを指定することもでき、icon ()またはiconUrl ()プロパティを使用してそのURLにアクセスできます。タイトルやアイコンが変更されると、対応するtitleChanged()、iconChanged()、iconUrlChanged() シグナルが発行される。zoomFactor() プロパティを使用すると、Web ページのコンテンツを倍率でズームできます。
loadStarted() シグナルは、ページの読み込みが開始されたときに発信され、loadProgress() シグナルは、埋め込み画像やスクリプトなど、Web ページの要素の読み込みが完了したときに発信されます。loadFinished() シグナルは、スクリプトの実行やページのレンダリングとは無関係に、ページのコンテンツが完全にロードされたときに発行されます。その引数(true
またはfalse
)は、ロード操作が成功したかどうかを示します。
HTML文書はウェブページ内のメインフレームにロードされます。子フレーム(<frame>
または<iframe>
要素で定義)を参照する場合、それらはコンテンツの一部とみなされます。子フレームには、JavaScriptを通してのみ個別にアクセスできます。
Webサイトは、クライアントサイドスクリプティングやデータベースのために、互いのリソースに安全にアクセスするためのセキュリティオリジンを定義します。オリジンはホスト名、スキーム、ポート番号で構成される。例えば、http://www.example.com/my/page.html
とhttp://www.example.com/my/overview.html
のサイトは、HTMLフレームセットとJavaScriptで使用される場合、同じデータベースを共有したり、お互いのドキュメントにアクセスすることが許可されています。同時に、http://www.malicious.com/evil.html
は、http://www.example.com/
のリソースにアクセスすることができません。なぜなら、これらは異なるセキュリティ・オリジンだからです。デフォルトでは、file://
やqrc://
のようなローカルスキームは、同じセキュリティオリジンにあるとみなされ、互いのリソースにアクセスすることができます。ローカルリソースはデフォルトでリモートコンテンツへのアクセスが制限されているため、file://
はhttp://domain.com/foo.html
にアクセスすることができません。
スクリプトは、runJavaScript() を使ってウェブページ上で実行することができます。メインのJavaScriptワールドで、ウェブコンテンツから来る残りのJavaScriptと一緒に実行することも、独自の隔離されたワールドで実行することもできます。ページのDOMはどのワールドからもアクセスできますが、あるワールドで定義された関数のJavaScript変数は、別のワールドからはアクセスできません。QWebEngineScript::ScriptWorldId 、この目的のためにいくつかの定義済みIDが用意されています。ワールドIDなしでrunJavaScript()
バージョンを使用することは、MainWorld
でスクリプトを実行することと同じです。
FocusOnNavigationEnabled 設定を使用すると、ナビゲーション操作(ページのロードやリロード、履歴のナビゲートなど)が発生したときに、ページに関連付けられたビューが自動的にフォーカスを受け取るようにすることができます。
メンバ型ドキュメント
enum QWebEnginePage::FileSelectionMode
この列挙型は、chooseFiles() 関数の実装が 1 つのファイルのみを返すべきか、複数のファイルを返すべきかを示します:
定数 | 値 | 説明 |
---|---|---|
QWebEnginePage::FileSelectOpen | 0 | 1つのファイル名のみを返します。 |
QWebEnginePage::FileSelectOpenMultiple | 1 | 複数のファイル名を返す。 |
QWebEnginePage::FileSelectUploadFolder | 2 | アップロードする既存のフォルダを1つ指定できます。 |
QWebEnginePage::FileSelectSave | 3 | 作成する新規ファイルを指定します。 |
chooseFiles()も参照してください 。
enum QWebEnginePage::FindFlag
flags QWebEnginePage::FindFlags
この enum は、findText() 関数で利用可能なオプションを記述します。オプションは、以下のリストから OR で組み合わせることができます:
定数 | 値 | 説明 |
---|---|---|
QWebEnginePage::FindBackward | 1 | 前方ではなく後方を検索します。 |
QWebEnginePage::FindCaseSensitively | 2 | デフォルトではfindText() は大文字小文字を区別せずに動作します。このオプションを指定すると、大文字と小文字を区別する検索動作に変わります。 |
FindFlags 型はQFlags<FindFlag> の typedef です。これは、FindFlag値のORの組み合わせを格納します。
enum QWebEnginePage::JavaScriptConsoleMessageLevel
この列挙型は、JavaScript のコンソールメッセージが持つことができる異なる重大度レベルを記述します:
定数 | 値 | 説明 |
---|---|---|
QWebEnginePage::InfoMessageLevel | 0 | メッセージは純粋に有益であり、安全に無視することができます。 |
QWebEnginePage::WarningMessageLevel | 1 | メッセージは予期しない動作や、注意が必要なエラーについて知らせます。 |
QWebEnginePage::ErrorMessageLevel | 2 | メッセージはエラーがあったことを示します。 |
enum class QWebEnginePage::LifecycleState
この列挙型は、ページのライフサイクル状態を記述します:
定数 | 値 | 説明 |
---|---|---|
QWebEnginePage::LifecycleState::Active | 0 | 通常状態。 |
QWebEnginePage::LifecycleState::Frozen | 1 | ほとんどのHTMLタスクソースが中断される、CPU使用率が低い状態。 |
QWebEnginePage::LifecycleState::Discarded | 2 | 閲覧コンテキスト全体が破棄される、リソース使用率が非常に低い状態。 |
lifecycleState 、Page Lifecycle API 、WebEngine Lifecycle Exampleも参照してください 。
enum QWebEnginePage::NavigationType
この列挙型は、ナビゲーション要求のタイプを記述します:
定数 | 値 | 説明 |
---|---|---|
QWebEnginePage::NavigationTypeLinkClicked | 0 | クリックされたリンクによるナビゲーション要求。 |
QWebEnginePage::NavigationTypeTyped | 1 | ナビゲーション・リクエストは明示的にロードされたURLから生じた。 |
QWebEnginePage::NavigationTypeFormSubmitted | 2 | ナビゲーション・リクエストはフォーム送信から生じた。 |
QWebEnginePage::NavigationTypeBackForward | 3 | ナビゲーション・リクエストは戻るまたは進むアクションによって発生しました。 |
QWebEnginePage::NavigationTypeReload | 4 | ナビゲーション・リクエストはリロード操作によるものです。 |
QWebEnginePage::NavigationTypeRedirect (since Qt 5.14) | 6 | ナビゲーション リクエストがコンテンツまたはサーバー制御のリダイレクトによって発生した。これには自動リロードも含まれます。 |
QWebEnginePage::NavigationTypeOther | 5 | ナビゲーションリクエストが上記以外の手段で発生した。 |
acceptNavigationRequest()も参照 。
enum QWebEnginePage::RenderProcessTerminationStatus
この列挙型は、レンダリングプロセスが終了したステータスを記述する:
定数 | 値 | 説明 |
---|---|---|
QWebEnginePage::NormalTerminationStatus | 0 | レンダリングプロセスは正常に終了した。 |
QWebEnginePage::AbnormalTerminationStatus | 1 | レンダリングプロセスは、ゼロ以外の終了ステータスで終了しました。 |
QWebEnginePage::CrashedTerminationStatus | 2 | レンダリングプロセスがクラッシュした(セグメンテーションフォールトなど)。 |
QWebEnginePage::KilledTerminationStatus | 3 | レンダープロセスは、SIGKILL またはタスクマネージャの kill などで強制終了した。 |
enum QWebEnginePage::WebAction
この列挙型は、Web ページで実行できるアクションのタイプを記述します。
アクションは、適用可能な場合にのみ効果を発揮します。
アクションが使用可能かどうかは、action() によって返されたアクションをisEnabled() で確認することで判断できます。
定数 | 値 | 説明 |
---|---|---|
QWebEnginePage::NoWebAction | - 1 | アクションは発生しません。 |
QWebEnginePage::Back | 0 | ナビゲートされたリンクの履歴を戻る。 |
QWebEnginePage::Forward | 1 | ナビゲートされたリンクの履歴を前方に移動する。 |
QWebEnginePage::Stop | 2 | 現在のページの読み込みを停止する。 |
QWebEnginePage::Reload | 3 | 現在のページを再読み込みします。 |
QWebEnginePage::ReloadAndBypassCache | 10 | 現在のページを再読み込みするが、ローカルキャッシュは使用しない。 |
QWebEnginePage::Cut | 4 | 現在選択されているコンテンツをクリップボードにカットする。 |
QWebEnginePage::Copy | 5 | 現在選択されているコンテンツをクリップボードにコピーする。 |
QWebEnginePage::Paste | 6 | クリップボードの内容を貼り付ける。 |
QWebEnginePage::Undo | 7 | 最後の編集操作を取り消す。 |
QWebEnginePage::Redo | 8 | 最後の編集操作をやり直す。 |
QWebEnginePage::SelectAll | 9 | すべてのコンテンツを選択する。このアクションはページのコンテンツがフォーカスされているときのみ有効です。フォーカスはJavaScriptのwindow.focus() コールで強制することもできますし、FocusOnNavigationEnabled 設定を有効にして自動フォーカスを得ることもできます。 |
QWebEnginePage::PasteAndMatchStyle | 11 | 現在のスタイルでクリップボードからコンテンツを貼り付ける。 |
QWebEnginePage::OpenLinkInThisWindow (since Qt 5.6) | 12 | 現在のリンクを現在のウィンドウで開く。 |
QWebEnginePage::OpenLinkInNewWindow (since Qt 5.6) | 13 | 現在のリンクを新しいウィンドウで開く。createWindow() またはnewWindowRequested() の実装が必要。 |
QWebEnginePage::OpenLinkInNewTab (since Qt 5.6) | 14 | 現在のリンクを新しいタブで開きます。createWindow() またはnewWindowRequested() の実装が必要です。 |
QWebEnginePage::OpenLinkInNewBackgroundTab (since Qt 5.7) | 31 | 現在のリンクを新しいバックグラウンドタブで開く。createWindow() またはnewWindowRequested() の実装が必要です。 |
QWebEnginePage::CopyLinkToClipboard (since Qt 5.6) | 15 | 現在のリンクをクリップボードにコピーする。 |
QWebEnginePage::CopyImageToClipboard (since Qt 5.6) | 17 | クリックした画像をクリップボードにコピーする。 |
QWebEnginePage::CopyImageUrlToClipboard (since Qt 5.6) | 18 | クリックした画像のURLをクリップボードにコピーする。 |
QWebEnginePage::CopyMediaUrlToClipboard (since Qt 5.6) | 20 | ホバーされたオーディオまたはビデオのURLをクリップボードにコピーする。 |
QWebEnginePage::ToggleMediaControls (since Qt 5.6) | 21 | ホバーされたオーディオまたはビデオ要素のコントロールの表示/非表示を切り替えます。 |
QWebEnginePage::ToggleMediaLoop (since Qt 5.6) | 22 | ホバーされたオーディオまたはビデオを完了時にループさせるかどうかを切り替える。 |
QWebEnginePage::ToggleMediaPlayPause (since Qt 5.6) | 23 | ホバーしたオーディオまたはビデオ要素の再生/一時停止状態を切り替える。 |
QWebEnginePage::ToggleMediaMute (since Qt 5.6) | 24 | ホバーしたオーディオまたはビデオ要素のミュートまたはミュート解除。 |
QWebEnginePage::DownloadLinkToDisk (since Qt 5.6) | 16 | 現在のリンクをディスクにダウンロードします。downloadRequested() のスロットが必要です。 |
QWebEnginePage::DownloadImageToDisk (since Qt 5.6) | 19 | ハイライトされた画像をディスクにダウンロードします。downloadRequested() のスロットが必要です。 |
QWebEnginePage::DownloadMediaToDisk (since Qt 5.6) | 25 | ホバーされたオーディオまたはビデオをディスクにダウンロードする。downloadRequested() のスロットが必要です。 |
QWebEnginePage::InspectElement (since Qt 5.6) | 26 | 付属の Web インスペクタを起動して、ハイライトされた要素を検査します。 |
QWebEnginePage::ExitFullScreen (since Qt 5.6) | 27 | フルスクリーンモードを終了します。 |
QWebEnginePage::RequestClose (since Qt 5.6) | 28 | ウェブページを閉じるように要求します。定義されている場合、window.onbeforeunload ハンドラが実行され、ユーザーはページを閉じるかどうかを決定できます。閉じる要求が確認されると、windowCloseRequested 。 |
QWebEnginePage::Unselect (since Qt 5.7) | 29 | 現在の選択をクリアする。 |
QWebEnginePage::SavePage (since Qt 5.7) | 30 | 現在のページをディスクに保存する。MHTMLは、ウェブページをディスクに保存するために使われるデフォルトのフォーマットである。downloadRequested()のスロットが必要である。 |
QWebEnginePage::ViewSource (since Qt 5.8) | 32 | 現在のページのソースを新しいタブに表示する。createWindow() またはnewWindowRequested() の実装が必要。 |
QWebEnginePage::ToggleBold (since Qt 5.10) | 33 | 選択範囲またはカーソル位置の太字を切り替えます。contenteditable="true" の実装が必要です。 |
QWebEnginePage::ToggleItalic (since Qt 5.10) | 34 | 選択範囲またはカーソル位置の斜体を切り替えます。contenteditable="true" が必要です。 |
QWebEnginePage::ToggleUnderline (since Qt 5.10) | 35 | 選択範囲またはカーソル位置の下線をトグルする。contenteditable="true" が必要です。 |
QWebEnginePage::ToggleStrikethrough (since Qt 5.10) | 36 | 選択範囲またはカーソル位置で取り消し線をトグルする。contenteditable="true" が必要です。 |
QWebEnginePage::AlignLeft (since Qt 5.10) | 37 | 選択範囲またはカーソルを含む行を左に揃える。contenteditable="true" が必要です。 |
QWebEnginePage::AlignCenter (since Qt 5.10) | 38 | 選択範囲またはカーソルを含む行を中央に揃える。contenteditable="true" が必要です。 |
QWebEnginePage::AlignRight (since Qt 5.10) | 39 | 選択範囲またはカーソルを含む行を右に揃える。contenteditable="true" が必要です。 |
QWebEnginePage::AlignJustified (since Qt 5.10) | 40 | 選択範囲またはカーソルを含む行を、各行の幅が等しくなるように伸ばします。contenteditable="true" が必要です。 |
QWebEnginePage::Indent (since Qt 5.10) | 41 | 選択範囲またはカーソルを含む行をインデントする。contenteditable="true" が必要です。 |
QWebEnginePage::Outdent (since Qt 5.10) | 42 | 選択範囲またはカーソルを含む行をアウトデントします。contenteditable="true" が必要です。 |
QWebEnginePage::InsertOrderedList (since Qt 5.10) | 43 | 現在のカーソル位置に順序付きリストを挿入し、現在の選択範囲を削除する。contenteditable="true" が必要です。 |
QWebEnginePage::InsertUnorderedList (since Qt 5.10) | 44 | 現在のカーソル位置に順序なしリストを挿入し、現在の選択範囲を削除する。contenteditable="true" が必要です。 |
QWebEnginePage::ChangeTextDirectionLTR (since Qt 6.6) | 45 | フォーカスされている入力要素のテキストの方向を左から右に変更する。 |
QWebEnginePage::ChangeTextDirectionRTL (since Qt 6.6) | 46 | フォーカスされている入力要素のテキストの方向を右から左に変更する。 |
enum QWebEnginePage::WebWindowType
この列挙型は、createWindow() 関数で作成できるウィンドウのタイプを記述します:
定数 | 値 | 説明 |
---|---|---|
QWebEnginePage::WebBrowserWindow | 0 | 完全なウェブブラウザウィンドウ。 |
QWebEnginePage::WebBrowserTab | 1 | ウェブブラウザのタブ。 |
QWebEnginePage::WebDialog | 2 | 装飾のないウィンドウ。 |
QWebEnginePage::WebBrowserBackgroundTab (since Qt 5.7) | 3 | 現在表示されているWebEngineView を隠さないウェブブラウザタブ。 |
プロパティの説明
audioMuted : bool
このプロパティは、現在のページの音声がミュートされているかどうかを保持します。
デフォルト値はfalse
です。
アクセス関数:
bool | isAudioMuted() const |
void | setAudioMuted(bool muted) |
通知シグナル:
void | audioMutedChanged(bool muted) |
recentlyAudibleも参照 。
backgroundColor : QColor
このプロパティは、ドキュメント本文の後ろにあるページの背景色を保持します。
背景色をQt::transparent に設定したり、ドキュメントが透けて見えるような半透明の色に設定したりすることができます。また、ハイブリッド・アプリケーションでウェブ・コンテンツに合わせて設定することで、読み込み中に表示される可能性のある白いフラッシュを防ぐことができます。
デフォルト値は白です。
アクセス関数:
QColor | backgroundColor() const |
void | setBackgroundColor(const QColor &color) |
[read-only]
contentsSize : const QSizeF
このプロパティはページコンテンツのサイズを保持します。
アクセス関数
QSizeF | contentsSize() const |
通知シグナル:
void | contentsSizeChanged(const QSizeF &size) |
[read-only]
hasSelection : const bool
このプロパティは、このページが選択されたコンテンツを含むか否かを保持する。
アクセス関数:
bool | hasSelection() const |
selectionChanged()も参照のこと 。
[read-only]
icon : const QIcon
このプロパティは、現在表示されているページに関連付けられたアイコンを保持する。
デフォルトでは、このプロパティには null アイコンが格納される。タッチ・アイコンが無効な場合(QWebEngineSettings::TouchIconsEnabled
を参照)、ファビコンはQIcon
でカプセル化された2つのサイズ(16x16と32x32ピクセル)で提供される。そうでない場合は、単一のアイコンが利用可能な最大のサイズで提供されます。
アクセス関数:
QIcon | icon() const |
通知シグナル:
void | iconChanged(const QIcon &icon) |
iconChanged(),iconUrl(),iconUrlChanged(),QWebEngineSettings::TouchIconsEnabledも参照のこと 。
[read-only]
iconUrl : const QUrl
このプロパティは、現在表示されているページに関連付けられたアイコンのURLを保持する。
デフォルトでは、このプロパティには空のURLが格納される。
アクセス関数:
QUrl | iconUrl() const |
Notifier シグナル:
void | iconUrlChanged(const QUrl &url) |
iconUrlChanged ()、icon ()、iconChanged ()も参照 。
lifecycleState : LifecycleState
このプロパティは、ページの現在のライフサイクル状態を保持する。
セッターによって以下の制限が強制される:
- visible ページは
Active
状態のままでなければなりません。 - ページがdevToolsPage によって検査されている場合、両方のページは
Active
状態のままでなければなりません。 Discarded
状態のページは、Active
状態にのみ遷移できる。これはページの再読み込みを引き起こす。
これらはライフサイクル状態に関する唯一のハード制限ですが、推奨されるソフト制限についてはrecommendedState も参照してください。
アクセス関数
QWebEnginePage::LifecycleState | lifecycleState() const |
void | setLifecycleState(QWebEnginePage::LifecycleState state) |
通知シグナル:
void | lifecycleStateChanged(QWebEnginePage::LifecycleState state) |
recommendedState 、Page Lifecycle API 、WebEngine Lifecycle Exampleも参照して ください。
[read-only, since 6.2]
loading : const bool
このプロパティは、ページが現在ロード中かどうかを保持します。
このプロパティは Qt 6.2 で導入されました。
アクセス関数:
bool | isLoading() const |
Notifier シグナル:
void | loadingChanged(const QWebEngineLoadingInfo &loadingInfo) |
QWebEngineLoadingInfo 、loadStarted 、loadFinishedも参照してください 。
[read-only]
recentlyAudible : const bool
このプロパティは、現在のページの可聴状態、つまり音声が最近再生されたかどうかを保持する。
デフォル ト 値はfalse
です。
アクセス関数:
bool | recentlyAudible() const |
Notifier シグナル:
void | recentlyAudibleChanged(bool recentlyAudible) |
audioMutedも参照。
[read-only]
recommendedState : const LifecycleState
このプロパティは、ページのライフサイクル状態の推奨限度を保持する。
推奨状態よりも低いリソース使用状態にライフサイクル状態を設定すると、バックグラウンドのオーディオ再生が停止したり、HTMLフォーム入力が失われたりするなどの副作用が発生する可能性があります。しかし、ライフサイクル・ステートを高いリソース使用状態に設定することは、完全に安全です。
アクセス関数
QWebEnginePage::LifecycleState | recommendedState() const |
通知シグナル:
void | recommendedStateChanged(QWebEnginePage::LifecycleState state) |
lifecycleState 、ページ ライフサイクル API、およびWebEngine ライフサイクルの例も参照してください 。
[read-only]
renderProcessPid : const qint64
このプロパティは、現在のページのメインフレームに割り当てられているレンダリングプロセスのプロセス ID(PID)を保持します。
まだ利用可能なレンダープロセスがない場合は、0
が返されます。
アクセス関数
qint64 | renderProcessPid() const |
Notifier シグナル:
void | renderProcessPidChanged(qint64 pid) |
[read-only]
requestedUrl : const QUrl
このプロパティは、現在表示されているページが最初にロードを要求した URL を保持する。
注: このURLは、url ()によって返されるURLとは異なる場合がある。これは、DNS解決またはリダイレクトの結果として得られる実際のURLである。
アクセス関数:
QUrl | requestedUrl() const |
[read-only]
scrollPosition : const QPointF
このプロパティは、ページ・コンテンツのスクロール位置を保持する。
アクセス関数:
QPointF | scrollPosition() const |
Notifier シグナル:
void | scrollPositionChanged(const QPointF &position) |
[read-only]
selectedText : const QString
このプロパティは、現在選択されているテキストを保持する。
デフォルトでは、このプロパティには空の文字列が格納される。
アクセス関数:
QString | selectedText() const |
selectionChanged()も参照のこと 。
[read-only]
title : const QString
このプロパティは、HTML<title>
要素で定義されたページのタイトルを保持します。
ページに<title>
要素がない場合は、代わりに URL が使用されます。file://
URLの場合、フルパスではなくファイル名のみが使用されます。
コンテンツが読み込まれる前のデフォルトでは、このプロパティには空の文字列が含まれます。
アクセス関数:
QString | title() const |
Notifier シグナル:
void | titleChanged(const QString &title) |
titleChanged()も参照のこと 。
url : QUrl
このプロパティは、現在表示されているページのURLを保持する。
このプロパティを設定すると、ビューがクリアされ、URLがロードされます。
デフォルトでは、このプロパティには空の無効な URL が格納されます。
アクセス関数:
QUrl | url() const |
void | setUrl(const QUrl &url) |
Notifier シグナル:
void | urlChanged(const QUrl &url) |
urlChanged()も参照 。
visible : bool
このプロパティは、Page Visibility API でページが表示可能とみなされるかどうかを保持します。
このプロパティを設定すると、JavaScript のDocument.hidden
とDocument.visibilityState
プロパティが変更されます。このプロパティは、Web サイトがユーザーに表示されていない場合に、自発的にリソースの使用量を減らすために使用できます。
ページがビューに接続されている場合、このプロパティはそれ自身の可視性に応じてビューによって自動的に管理されます。
アクセス関数
bool | isVisible() const |
void | setVisible(bool visible) |
通知シグナル:
void | visibleChanged(bool visible) |
lifecycleStateも参照 。
zoomFactor : qreal
このプロパティは、ページコンテンツのズームファクターを保持する。
有効な値は0.25
から5.0
の範囲です。 デフォルトの倍率は1.0
です。
アクセス関数:
qreal | zoomFactor() const |
void | setZoomFactor(qreal factor) |
Notifier シグナル:
void | zoomFactorChanged(qreal factor) |
zoomFactorChanged()も参照 。
メンバ関数ドキュメント
void QWebEnginePage::runJavaScript(const QString &scriptSource, const std::function<void (const QVariant &)> &resultCallback)
void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId = 0, const std::function<void (const QVariant &)> &resultCallback = {})
ページの DOM が構築されているかどうかをチェックせずに、scriptSource に含まれる JavaScript コードを実行します。スクリプトの実行方法をもっと制御したい場合は、代わりにscripts() を使うことを検討してください。
ページ上で実行される他のスクリプトとの衝突を避けるため、スクリプトが実行されるワールドはworldId で指定されます。ワールドIDの値は、QWebEngineScript::ScriptWorldId で提供されるものと同じで、0
と256
の間にある。world
IDを省略すると、スクリプトはMainWorld
で実行される。
スクリプトが実行されると、最後に実行されたステートメントの結果でresultCallback が呼び出される。resultCallback
は、関数ポインタ、ファンクタ、ラムダのいずれかであり、QVariant パラメータを取ることが期待される。例えば
JavaScriptから結果値として返せるのは、プレーンなデータだけです。サポートされるデータ型には、すべてのJSONデータ型と、例えばDate
、ArrayBuffer
。サポートされていないデータ型には、Function
やPromise
などがあります。
警告: Webエンジン・ページのレンダリングがブロックされる可能性があるため、コールバック関数内で長いルーチンを実行しないでください。
警告 コールバック (resultCallback) は常に呼び出されることを保証しますが、ページの破棄時に呼び出される可能性があります。QWebEnginePage が削除されると、コールバックは無効な値でトリガーされ、その内部で対応するQWebEnginePage やQWebEngineView インスタンスを使用することは安全ではありません。
scripts()、QWebEngineScript::ScriptWorldId 、QWebEngineFrame::runJavaScript 、およびスクリプト・インジェクションも参照してください 。
[explicit]
QWebEnginePage::QWebEnginePage(QObject *parent = nullptr)
空の QWebEnginePage を親parent と共に構築します。
QWebEnginePage::QWebEnginePage(QWebEngineProfile *profile, QObject *parent = nullptr)
Web エンジン プロファイルprofile 内の空の Web エンジン ページを、親parent と共に構築します。
プロファイルがデフォルトのプロファイルでない場合、呼び出し元は、ページが存続する限りプロファイルが存続するようにする必要があります。
[virtual noexcept]
QWebEnginePage::~QWebEnginePage()
Web ページを破棄します。
[virtual protected]
bool QWebEnginePage::acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame)
この関数は、指定されたナビゲーションタイプtype によって、指定されたurl に移動する要求を受け取ったときに呼び出されます。isMainFrame は、要求がメインフレームに対応するか、子フレームに対応するかを示します。この関数がtrue
を返した場合、ナビゲーション要求は受け入れられ、url
がロードされます。デフォルトの実装では、すべてのナビゲーション要求を受け入れます。
ナビゲーション要求は、この関数をオーバーロードすることで、HTMLハンドラエンジンに処理させる代わりに、Qtアプリケーションに委譲することができます。これは、HTMLドキュメントをユーザーインターフェースの一部として使用し、外部データを表示しない場合(例えば、結果のリストを表示する場合など)に必要です。
注意: この関数は、同じページのフラグメント・ナビゲーションでは呼び出されません。このようなナビゲーションは、例えばページ内の'#fragment'へのリンクをクリックすることで行われます。ページのURLが変更され、履歴エントリが追加されたとしても、別のドキュメントへの読み込みは行われません。ページ内をスクロールするためのショートカットとして機能するだけです。したがって、このナビゲーションタイプの委譲が起こることは期待されていない。
注意: リクエストが受け入れられるか拒否される前に、ロードプロセスが開始 され、loadStarted()シグナルが発せられる。したがって、リクエストを委譲した後でも、false
を返すloadFinished() シグナルが期待されます。
注意: setHtml やsetContent を相対リンクで使う場合は、必ずベース URL を指定してください。そうしないとリンクは無効とみなされ、ナビゲーションリクエストは発行されません。
QWebEngineUrlRequestInterceptor クラスは、リクエストをインターセプトしたり操作したりするためのさらなるオプションを提供します。
QAction *QWebEnginePage::action(QWebEnginePage::WebAction action) const
指定されたWebAction action に対するQAction を返します。
アクションはQWebEnginePage によって所有されますが、そのプロパティを変更することで見た目をカスタマイズすることができます。
返されたアクションはデフォルトのアイコンを持ちません。デフォルトのスタイルのアイコンを持つアクションを持つには、QWebEngineView::pageAction() を使用してください。
QWebEnginePage また、アクションの実装も行いますので、トリガーが発生すると、対応するアクションがページ上で実行されます。
triggerAction()も参照して ください。
[signal]
void QWebEnginePage::audioMutedChanged(bool muted)
このシグナルはページのmuted の状態が変化したときに発せられます。
注 : 特定の HTML5 audio 要素または video 要素がミュートされることと混同しないでください。
注: プロパティaudioMuted に対するノーティファイア シグナル。
[signal]
void QWebEnginePage::authenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator)
このシグナルは、requestUrl へのアクセスに認証が必要なときに発行されます。authenticator を使用して、接続用のユーザー名とパスワードを渡す必要があります。
[signal]
void QWebEnginePage::certificateError(const QWebEngineCertificateError &certificateError)
このシグナルは、指定されたリクエストのロード中に無効な証明書エラーが 発生したときに発行される。
certificateError パラメータは、証明書とエラーの詳細についての情報を含む。また、 エラーを無視してリクエストを完了したり、リクエストのロードを中止したり する方法も提供する。
QWebEngineCertificateErrorも参照 。
[virtual protected]
QStringList QWebEnginePage::chooseFiles(QWebEnginePage::FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes)
この関数は、HTMLフォームのファイルアップロードボタンをユーザーがクリックした結果など、Webコンテンツがファイル名を要求するときに呼び出されます。
mode は、返されるファイルが1つだけなのか複数なのかを指定します。
oldFiles acceptedMimeTypes はデフォルトの実装では無視されますが、オーバーライドによって使用される可能性があります。
[virtual protected]
QWebEnginePage *QWebEnginePage::createWindow(QWebEnginePage::WebWindowType type)
この関数は、指定されたtype の新しいウィンドウを作成するために呼び出されます。たとえば、JavaScript プログラムが新しいウィンドウでドキュメントを開くように要求した場合などです。
新しいウィンドウを作成できる場合は、新しいウィンドウのQWebEnginePage が返され、そうでない場合は null ポインタが返されます。
ウェブ・ページに関連付けられたビューがQWebEngineView オブジェクトの場合、デフォルトの実装ではリクエストをQWebEngineView::createWindow() に転送します。
この呼び出しが実装されていないか、新しいページを返さない場合、newWindowRequested()がリクエストを処理するために発行される。
注: JavaScriptによってウィンドウの作成がトリガーされる場合、このメソッドを再実装する以外に、アプリケーションは、このメソッドが呼び出されるように、QWebEngineSettings::JavascriptCanOpenWindows をtrue
に設定する必要があります。
QWebEngineView::createWindow() およびnewWindowRequested()も参照 。
[since 6.6]
QString QWebEnginePage::devToolsId() const
このページに関連付けられた開発者ツールホストの ID を返します。
リモートデバッグが有効になっている場合 (Qt WebEngine Developer Tools を参照)、この id を使用して、開発者ツールの Web ソケットに接続するための URL を作成できます:ws://localhost:<debugggin-port>/devtools/page/<id>)
。ウェブソケットは、DevTools Protocol を使用してページと対話するために使用できます。
この関数は Qt 6.6 で導入されました。
QWebEnginePage *QWebEnginePage::devToolsPage() const
このページの開発者ツールをホストしているページがあれば、それを返します。
開発者ツールページが設定されていない場合はnullptr
を返します。
setDevToolsPage() およびinspectedPage()も参照してください 。
void QWebEnginePage::download(const QUrl &url, const QString &filename = QString())
url で指定された場所からリソースをローカルファイルにダウンロードします。
filename が指定された場合は、それがファイル名として使用されます。相対パスである場合、ファイルは標準のダウンロード場所に指定された名前で保存されます。NULLまたは空のQString の場合、デフォルトのファイル名が使用される。
これは、ダウンロード開始後にQWebEngineProfile::downloadRequested() を発行する。
[override virtual]
bool QWebEnginePage::event(QEvent *e)
再実装:QObject::event(QEvent *e)。
[signal, since 6.4]
void QWebEnginePage::fileSystemAccessRequested(QWebEngineFileSystemAccessRequest request)
このシグナルは、Webページがローカル・ファイルやディレクトリへのアクセスを要求したときに発せられます。
リクエストオブジェクトrequest を使用して、リクエストを承認または拒否することができます。
この関数は Qt 6.4 で導入されました。
[since 6.8]
std::optional<QWebEngineFrame> QWebEnginePage::findFrameByName(QAnyStringView name)
与えられたname を持つフレームを返します。同じ名前のフレームが複数ある場合、どれを返すかは任意です。フレームが見つからなかった場合は、std::nullopt
を返します。
この関数は Qt 6.8 で導入されました。
void QWebEnginePage::findText(const QString &subString, QWebEnginePage::FindFlags options = {}, const std::function<void (const QWebEngineFindTextResult &)> &resultCallback = std::function<void(const QWebEngineFindTextResult &)>())
指定された文字列subString を、指定されたoptions を用いてページ内で検索します。findTextFinished() シグナルは、文字列検索が完了したときに発せられます。
検索ハイライトを消去するには、空の文字列を渡します。
resultCallback はQWebEngineFindTextResult パラメータを取らなければならない。
警告 コールバック(resultCallback)は常に呼び出されることを保証しますが、ページ破棄時に呼び出される可能性があります。QWebEnginePage が削除されると、コールバックは無効な値でトリガーされ、その中で対応するQWebEnginePage やQWebEngineView インスタンスを使用することは安全ではありません。
例えば
m_view->page()->findText(QStringLiteral("Qt"), QWebEnginePage::FindFlags(), [this](const QWebEngineFindTextResult &result) { if (result.numberOfMatches() == 0) QMessageBox::information(m_view, QString(), QStringLiteral("No occurrences found")); });
findTextFinished()も参照してください 。
[signal]
void QWebEnginePage::findTextFinished(const QWebEngineFindTextResult &result)
result は文字列検索の結果です。
findText()も 参照。
[signal]
void QWebEnginePage::fullScreenRequested(QWebEngineFullScreenRequest fullScreenRequest)
このシグナルは、ウェブページがウェブ要素(通常はビデオ要素)に対してフルスクリーンモードにするリクエストを発行したときに発せられます。
リクエストオブジェクトfullScreenRequest を使って、リクエストを受け入れるか拒否するかを指定することができます。
リクエストが受け入れられた場合、フルスクリーンを要求する要素はビューポートいっぱいに表示されますが、ビューをフルスクリーンにするか、ページをフルスクリーンのビューに移動するかはアプリケーション次第です。
QWebEngineSettings::FullScreenSupportEnabledも参照してください 。
[signal]
void QWebEnginePage::geometryChangeRequested(const QRect &geom)
このシグナルは、ドキュメントがページの位置とサイズを変更したいときに、geom 。これは、JavaScriptなどで発生します。
注意: setGeometry() はウィンドウ装飾を除いたサイズを期待しますが、geom はウィンドウ装飾を含みます。このシグナルを正しく処理するには、geom からフレームの余白のサイズを削除する必要があります。
window->setGeometry(geom.marginsRemoved(window->frameMargins()));
QWebEngineHistory *QWebEnginePage::history() const
ビューがナビゲートしたウェブページの履歴へのポインタを返します。
[signal]
void QWebEnginePage::iconChanged(const QIcon &icon)
このシグナルは、ページに関連付けられたアイコン("favicon")が変更されたときに発行されます。新しいアイコンはicon で指定されます。
注: icon プロパティに対するノーティファイアシグナル。
icon()、iconUrl()、iconUrlChanged()も参照のこと 。
[signal]
void QWebEnginePage::iconUrlChanged(const QUrl &url)
このシグナルは、ページに関連付けられたアイコン ("favicon") の URL が変更されたときに発行される。新しいURLはurl で指定される。
注: iconUrl プロパティのノーティファイアシグナル。
iconUrl()、icon()、iconChanged()も参照 。
QWebEnginePage *QWebEnginePage::inspectedPage() const
このページが検査中のページがあれば、それを返します。
このページが開発者ツール・ページでない場合はnullptr
を返します。
setInspectedPage() およびdevToolsPage()も参照 。
[virtual protected]
void QWebEnginePage::javaScriptAlert(const QUrl &securityOrigin, const QString &msg)
この関数は、securityOrigin と提携しているフレームで実行されている JavaScript プログラムが、msg というメッセージとともにalert()
関数を呼び出すたびに呼び出されます。
デフォルトの実装では、msg というメッセージをQMessageBox::information とともに表示します。
[virtual protected]
bool QWebEnginePage::javaScriptConfirm(const QUrl &securityOrigin, const QString &msg)
この関数は、securityOrigin と提携しているフレームで実行されている JavaScript プログラムが、msg というメッセージとともにconfirm()
関数を呼び出すたびに呼び出されます。ユーザーがメッセージを確認した場合はtrue
を返し、そうでない場合はfalse
を返します。
また、onbeforeunload
ハンドラがページを離れる前に確認を要求するときにも呼び出されます。
デフォルトの実装では、QMessageBox::Ok とQMessageBox::Cancel ボタンを使って、QMessageBox::information を使ってクエリを実行します。
[virtual protected]
void QWebEnginePage::javaScriptConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID)
この関数は、JavaScriptプログラムがWebブラウザのコンソールにmessage 。
例えば、評価エラーの場合、lineNumber と同様に、sourceID でソース URL を提供することができます。
level は、メッセージをトリガーしたイベントの重大度を示します。つまり、エラーでトリガーされたのか、それほど深刻でないイベントでトリガーされたのかを示します。
Qt 5.6 以降、デフォルトの実装では、メッセージをjs
logging category に記録します。
Console Loggingも参照してください 。
[virtual protected]
bool QWebEnginePage::javaScriptPrompt(const QUrl &securityOrigin, const QString &msg, const QString &defaultValue, QString *result)
この関数は、securityOrigin のフレームで動作している JavaScript プログラムが、ユーザーに入力を求めると呼び出されます。プログラムは、defaultValue の入力のためのデフォルト値だけでなく、オプションのメッセージ、msg を提供することができます。
プロンプトがユーザーによってキャンセルされた場合、実装はfalse
を返すべきである。そうでない場合、結果はresult に書き込まれ、true
が返されるべきである。プロンプトがユーザーによってキャンセルされなかった場合、実装はtrue
を返すべきである。
デフォルトの実装では、QInputDialog::getText ()を使用する。
[signal]
void QWebEnginePage::linkHovered(const QString &url)
このシグナルは、マウスがリンクにマウスオーバーしたときに発せられる。url にはリンクのターゲットURLが含まれる。
void QWebEnginePage::load(const QUrl &url)
url をこのページに読み込みます。
注意: 新しいURLを表示するのに十分なデータが到着するまで、ビューはそのままです。
setUrl ()、setHtml ()、setContent ()も参照 。
void QWebEnginePage::load(const QWebEngineHttpRequest &request)
指定されたrequest を発行し、レスポンスをロードします。
load()、setUrl()、url()、urlChanged()、QUrl::fromUserInput()も参照の こと。
[signal]
void QWebEnginePage::loadFinished(bool ok)
このシグナルは、ページがコンテンツのロードを終了したときに発行されます。このシグナルは、スクリプトの実行やページのレンダリングとは無関係です。ok は、読み込みが成功したか、エラーが発生したかを示します。
注: ナビゲーション要求は、acceptNavigationRequest() 関数をオーバーロードすることで、HTMLハンドラエンジンに処理させる代わりに、Qtアプリケーションに委譲することができます。読み込み処理は開始され、loadStarted() シグナルはリクエストが受諾されるか拒否される前に発行されるため、false
を返すloadFinished()
シグナルは、リクエストを委譲した後でも期待されます。
loadStarted() およびacceptNavigationRequest()も参照のこと 。
[signal]
void QWebEnginePage::loadProgress(int progress)
このシグナルは、グローバルな進捗状況が変化したときに発せられる。現在の値はprogress によって提供され、QProgressBar のデフォルト範囲である 0 から 100 の範囲で変化します。 すべての子フレームからの変化を累積します。
[signal]
void QWebEnginePage::loadStarted()
このシグナルは、ページがコンテンツの読み込みを開始したときに発せられる。
loadFinished() およびacceptNavigationRequest()も参照のこと 。
[signal, since 6.2]
void QWebEnginePage::loadingChanged(const QWebEngineLoadingInfo &loadingInfo)
このシグナルは、loadingInfo で指定されたページのロードが開始、終了、または失敗したときに発行されます。
注: loading プロパティのノーティファイアシグナル。
この関数は Qt 6.2 で導入されました。
[since 6.8]
QWebEngineFrame QWebEnginePage::mainFrame()
ページのメイン、トップレベルのフレーム。このページの他のすべてのフレームは、メインフレームの子としてアクセスできます。
この関数は Qt 6.8 で導入されました。
[signal, since 6.2]
void QWebEnginePage::navigationRequested(QWebEngineNavigationRequest &request)
このシグナルは、acceptNavigationRequest() の呼び出しとともにナビゲーション時に発せられます。requestデフォルトはacceptです。
この関数は Qt 6.2 で導入されました。
acceptNavigationRequest()も参照してください 。
[signal, since 6.2]
void QWebEnginePage::newWindowRequested(QWebEngineNewWindowRequest &request)
このシグナルは、request が発行され、ウェブエンジンの別ウィンドウにページがロードされたときに発行されます。これは、現在のページがwindow.open
への JavaScript 呼び出しによって明示的に要求したためか、ユーザーが Shift、Ctrl、または新しいウィンドウでページを開くトリガーとなる組み込みの組み合わせを押しながらリンクをクリックしたためです。
このシグナルは、リクエストの新しいページでopenIn()を呼び出すことで処理される。このシグナルが処理されない場合、リクエストされたロードは失敗します。
注意: createWindow() が最初にリクエストを処理した場合、このシグナルは発行されません。
この関数は Qt 6.2 で導入されました。
createWindow() およびQWebEngineNewWindowRequest::openIn()も参照してください 。
[signal]
void QWebEnginePage::pdfPrintingFinished(const QString &filePath, bool success)
このシグナルは、ウェブページのPDFファイルへの印刷が終了したときに発せられます。filePath には、ファイルの作成が要求されたパスが格納され、success には、ファイルの作成に成功した場合はtrue
が、そうでない場合はfalse
が格納されます。
printToPdf()も参照してください 。
[signal, since 6.8]
void QWebEnginePage::permissionRequested(QWebEnginePermission permission)
このシグナルは、ウェブサイトがある機能(例:ジオロケーションアクセス、通知の送信許可)の利用を要求したときに発行されます。permission オブジェクトは、要求している URL とQWebEnginePermission::Feature
を問い合わせることができます。
この関数は Qt 6.8 で導入されました。
[signal]
void QWebEnginePage::printRequested()
このシグナルは、JavaScriptのwindow.print()
メソッドがメインフレーム上で呼び出されたとき、またはユーザーがPDFビューアープラグインの印刷ボタンを押したときに発せられます。通常、シグナルハンドラは単純にprintToPdf ()を呼び出すことができます。
6.8以降、このシグナルは、印刷を要求するどのフレームに対しても発せられるのではなく、メインフレームに対してのみ発せられるようになりました。
printToPdf() およびprintRequestedByFrame()も参照して ください。
[signal, since 6.8]
void QWebEnginePage::printRequestedByFrame(QWebEngineFrame frame)
このシグナルは、JavaScript のwindow.print()
メソッドがframe で呼び出されたときに発せられます。そのフレームがメインフレームの場合は、printRequested
が発行されます。
この関数は Qt 6.8 で導入されました。
printRequested(),printToPdf(),QWebEngineFrame::printToPdf()も参照してください 。
void QWebEnginePage::printToPdf(const QString &filePath, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges &ranges = {})
ページのカ レ ン ト 内容を PDF 文書に レ ン ダ リ ング し 、filePath で指定 し た場所に保存 し ます。生成 さ れ る PDF 文書のページサ イ ズ と 向 き はlayout で指定 さ れてい る 値か ら 、 印字 さ れ る ページの範囲はranges で指定 さ れてい る 値か ら 、 デフ ォ ル ト は全ページ印刷です。
こ の メ ソ ッ ド は、 Web ページ を PDF へ印刷す る ための非同期要求を発行 し 、 ただちに返 り ます。リ ク エ ス ト の結果を知 る には、 シグナルpdfPrintingFinished() に接続 し ます。
メモ : QWebEnginePage::Stop Web ア ク シ ョ ン を使えば、 こ の非同期操作を中断す る こ と がで き ます。
与え ら れた フ ァ イ ルパ ス に フ ァ イ ルがすでに存在 し てい る と き は、 その フ ァ イ ルは上書 き さ れます。
pdfPrintingFinished()も参照してください 。
void QWebEnginePage::printToPdf(const std::function<void (const QByteArray &)> &resultCallback, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges &ranges = {})
ページのカ レ ン ト 内容を PDF 文書へ レ ン ダ リ ング し 、 PDF デー タ を含むバ イ ト 配列をresultCallback への引数 と し て返 し ます。 生成 さ れ る PDF 文書のページサ イ ズ と 向 き はlayout で指定 さ れてい る 値か ら 採 ら れ、 印字 さ れ る ページ の範囲はranges か ら 採 ら れます。
resultCallback は、QByteArray への const 参照を引数 と し て取 る 必要があ り ます。印刷が成功 し た と き は、 こ のバ イ ト 配列は PDF デー タ を含んでお り 、 そ う でない と き はバ イ ト 配列は空にな り ます。
注: QWebEnginePage::Stop Web アクションを使うと、この操作を中断することができます。
警告 コ ールバ ッ ク (resultCallback ) はつねに呼び出 さ れ る こ と を保証 し ますが、 ページ破棄中に呼び出される可能性があ り ます。QWebEnginePage が削除されると、コールバックは無効な値でトリガーされ、その内部で対応するQWebEnginePage やQWebEngineView インスタンスを使用することは安全ではありません。
QWebEngineProfile *QWebEnginePage::profile() const
ページが属するウェブエンジンプロファイルを返します。
[signal]
void QWebEnginePage::proxyAuthenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator, const QString &proxyHost)
このシグナルは、proxyHost を経由してrequestUrl にアクセスする際に、プロキシの認証が必要な場合に発行されます。authenticator を使用して、接続用のユーザー名とパスワードを渡す必要があります。
[signal]
void QWebEnginePage::recentlyAudibleChanged(bool recentlyAudible)
このシグナルは、ページの可聴状態(recentlyAudible )が変化したときに発行されます。
注: このシグナルは、setAudioMuted ()メソッドを呼び出すときにも発せられる。
注: recentlyAudible プロパティのノーティファイアシグナル。
[signal]
void QWebEnginePage::registerProtocolHandlerRequested(QWebEngineRegisterProtocolHandlerRequest request)
このシグナルは、ウェブ・ページがregisterProtocolHandlerAPI を使用してカスタム・プロトコルを登録しようとすると発行されます。
リクエスト・オブジェクトrequest を使用して、リクエストを受諾または拒否することができます:
void WebView::handleRegisterProtocolHandlerRequested( QWebEngineRegisterProtocolHandlerRequest request) { auto answer = QMessageBox::question(window(), tr("Permission Request"), tr("Allow %1 to open all %2 links?") .arg(request.origin().host()) .arg(request.scheme())); if (answer == QMessageBox::Yes) request.accept(); else request.reject(); }
[signal]
void QWebEnginePage::renderProcessPidChanged(qint64 pid)
このシグナルは、基礎となるレンダリングプロセスの PIDpid が変更されたときに発行されます。
注: renderProcessPid プロパティに対するノーティファイアシグナル。
[signal]
void QWebEnginePage::renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode)
このシグナルは、レンダープロセスがゼロ以外の終了ステータスで終了したときに発せられます。terminationStatus はプロセスの終了ステータスで、exitCode はプロセスが終了したステータスコードです。
void QWebEnginePage::replaceMisspelledWord(const QString &replacement)
現在のスペルミスの単語をreplacement で置き換える。
現在スペルミスのある単語はQWebEngineContextMenuRequest::misspelledWord() に、置換候補はQWebEngineContextMenuRequest::spellCheckerSuggestions() にある。
void QWebEnginePage::save(const QString &filePath, QWebEngineDownloadRequest::SavePageFormat format = QWebEngineDownloadRequest::MimeHtmlSaveFormat) const
現在読み込まれているWebページをディスクに保存する。
ウェブページは、指定したformat のfilePath に保存されます。
これは次のアクションのショートカットです:
- Web 保存アクションをトリガーします。
- 次のダウンロード項目を受け入れ、指定されたファイルパスと保存 フォーマットを設定します。
この関数はウェブページの非同期ダウンロード要求を発行し、すぐに戻ります。
QWebEngineDownloadRequest::SavePageFormatも参照してください 。
QWebEngineScriptCollection &QWebEnginePage::scripts()
ページに注入されたスクリプトのコレクションを返します。
さ ら に、 ページはQWebEngineProfile::scripts() で追加 さ れた ス ク リ プ ト を実行す る こ と も あ り ます。
QWebEngineScriptCollection 、QWebEngineScript 、およびスクリプト・インジェクションも参照して ください。
[signal]
void QWebEnginePage::selectClientCertificate(QWebEngineClientCertificateSelection clientCertificateSelection)
このシグナルは、WebサイトがSSLクライアント証明書を要求し、システムのクライアント証明書ストアに1つ以上の証明書が見つかったときに発行されます。
このシグナルの処理は非同期で、ローディングは証明書が選択されるか、clientCertificateSelection の最後のコピーが破棄されるまで待機します。
シグナルが処理されない場合、clientCertificateSelection は自動的に破棄され、ロードはクライアント証明書なしで続行される。
QWebEngineClientCertificateSelectionも参照のこと 。
[signal]
void QWebEnginePage::selectionChanged()
このシグナルは、対話的またはプログラム的に選択が変更されるたびに発行される。例えば、選択アクションでtriggerAction() を呼び出した場合などです。
注意: マウスでテキストを左クリックしてドラッグして選択する場合、このシグナルはマウスの左ボタンを離したときではなく、新しい文字が選択されるたびに発行されます。
selectedText()も参照 。
void QWebEnginePage::setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl())
Web ページのコンテンツをdata に設定する。引数mimeType が空の場合、コンテンツはtext/plain,charset=US-ASCII
であるとみなされる。
コンテンツで参照される外部オブジェクトは、baseUrl からの相対 URL に配置されます。相対 URL を持つ外部オブジェクトを読み込むには、baseUrl
を空にすることはできません。
data 外部オブジェクトは非同期にロードされます。
注意: このメソッドは、そのページのセッション履歴やグローバル履歴には影響しません。
警告 コンテンツは、IPC経由でレンダラーに送信される前にパーセントエンコードされます。そのため、サイズが大きくなる可能性があります。パーセントエンコードされたコンテンツの最大サイズは、2メガバイトから6バイトを引いたものと、MIMEタイプ文字列の長さです。
void QWebEnginePage::setDevToolsPage(QWebEnginePage *devToolsPage)
このページの開発者ツールにdevToolsPage をバインドする。devToolsPage をトリガーとして、開発者ツールで内部 URL に移動する。
これは、this
を引数としてdevToolsPage でsetInspectedPage() を呼び出すのと同じである。
devToolsPage() およびsetInspectedPage()も参照 。
void QWebEnginePage::setHtml(const QString &html, const QUrl &baseUrl = QUrl())
このページの内容をhtml に設定します。baseUrl はオプションで、参照されている画像やスタイルシートなど、ドキュメント内の相対 URL を解決するために使用されます。
html は即座にロードされる。外部オブジェクトは非同期にロードされる。
html のスクリプトが、モーダルな JavaScript アラートダイアログによってブロックされるなどして、デフォルトのスクリプトタイムアウト (現在は 10 秒) よりも長く実行された場合、このメソッドはタイムアウト後できるだけ早く戻り、後続のhtml はすべて非同期で読み込まれます。
このメソッドを使用する場合、ウェブエンジンは JavaScript プログラムやスタイルシートなどの外部リソースが、特に指定されない限り UTF-8 でエンコードされていると仮定します。例えば、外部スクリプトのエンコーディングは、HTMLのscriptタグのcharset属性で指定できます。また、ウェブ・サーバーがエンコーディングを指定することもできます。
これはsetContent(html, "text/html", baseUrl) と同等の便利な関数です。
注意: このメソッドは、そのページのセッション履歴やグローバル履歴には影響しません。
警告 他の MIME タイプ(XHTML や SVG など)の場合は、setContent() を代わりに使用する必要があります。
警告 コンテンツは、IPC経由でレンダラーに送られる前にパーセントエンコードされます。そのため、サイズが大きくなる可能性がある。パーセント符号化されたコンテンツの最大サイズは、2メガバイトから30バイトを引いたものである。
toHtml()、setContent()、load()も参照のこと 。
void QWebEnginePage::setInspectedPage(QWebEnginePage *page)
このページをpage の開発者ツールである内部URLに移動する。
これは、page でthis
を引数としてsetDevToolsPage() を呼び出すのと同じである。
inspectedPage() およびsetDevToolsPage()も参照 。
void QWebEnginePage::setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)
URL リクエストをインターセプトするために、リクエストインターセプ ターinterceptor を登録する。
ページはポインタの所有権を持たない。このインターセプターはプロファイルのインターセプターの後に呼び出され、プロファイルのインターセプターとは異なり、このページからの URL リクエストだけがインターセプトされます。元のリクエストがすでにプロファイルインターセプターによってブロックされたりリダイレクトされたりしている場合は、このインターセプターによってインターセプトされることはありません。
リクエストインターセプターの設定を解除するには、nullptr
を設定してください。
QWebEngineUrlRequestInfo とQWebEngineProfile::setUrlRequestInterceptor()も参照してください 。
void QWebEnginePage::setWebChannel(QWebChannel *channel, quint32 worldId = 0)
このページが使用するウェブチャネルのインスタンスをchannel に設定し、Chromium IPC メッセージを使用してウェブエンジンのトランスポートに接続します。トランスポートは JavaScript の世界worldId でqt.webChannelTransport
として公開されており、Qt WebChannel JavaScript API を使用するときに使用します。
注意: ページはチャネルオブジェクトの所有権を持ちません。
注意: ページごとにインストールできるウェブチャネルは1つだけで、別の JavaScript の世界でも設定すると、すでにインストールされているウェブチャネルはアンインストールされます。
webChannel() およびQWebEngineScript::ScriptWorldIdも参照してください 。
QWebEngineSettings *QWebEnginePage::settings() const
ページの設定オブジェクトへのポインタを返します。
[signal]
void QWebEnginePage::titleChanged(const QString &title)
このシグナルは、ページのタイトルが変更されるたびに発行されます。title 文字列が新しいタイトルを指定します。
注: プロパティtitle に対するノーティファイア・シグナル。
title()も参照してください 。
void QWebEnginePage::toHtml(const std::function<void (const QString &)> &resultCallback) const
HTMLタグとBODYタグで囲まれたページのコンテンツをHTMLとして取得する非同期メソッド。成功すると、resultCallback がページの内容とともに呼び出されます。
注意: resultCallback は、関数ポインタ、ファンクタ、ラムダのいずれでもよく、QString パラメータを取ることが期待される。
警告 コールバック(resultCallback)は常に呼び出されることを保証しますが、ページの破棄時に呼び出される可能性があります。QWebEnginePage が削除されると、コールバックは無効な値でトリガーされ、その内部で対応するQWebEnginePage やQWebEngineView インスタンスを使用することは安全ではありません。
setHtml() およびtoPlainText()も参照してください 。
void QWebEnginePage::toPlainText(const std::function<void (const QString &)> &resultCallback) const
HTMLの書式をすべて取り除いたプレーンテキストに変換されたページの内容を取得する非同期メソッド。正常に終了すると、ページの内容とともにresultCallback が呼び出されます。
注: resultCallback は、関数ポインタ、ファンクタ、ラムダのいずれでもよく、QString パラメータを取ることが期待される。
警告 コールバック(resultCallback)は常に呼び出されることを保証しますが、ページの破棄時に呼び出される可能性があります。QWebEnginePage が削除されると、コールバックは無効な値で起動され、その内部で対応するQWebEnginePage やQWebEngineView インスタンスを使用することは安全ではありません。
toHtml()も参照してください 。
[virtual]
void QWebEnginePage::triggerAction(QWebEnginePage::WebAction action, bool checked = false)
この関数は、指定されたaction をトリガーするために呼び出すことができます。この関数は、ユーザーがコンテキストメニューなどからアクションをトリガーした場合にも、Qt WebEngine から呼び出されます。
action がチェック可能なアクションの場合、checked はアクションがトグルされるかどうかを指定します。
action()も参照 。
[signal]
void QWebEnginePage::urlChanged(const QUrl &url)
このシグナルは、ページタイトルを受け取ったときに、ページのURLとともに発行される。新しいURLはurl で指定される。
注: url プロパティに対するノーティファイア・シグナル。
url()も参照 。
[signal, since 6.7]
void QWebEnginePage::webAuthUxRequested(QWebEngineWebAuthUxRequest *request)
このシグナルは、WebAuth 認証機能が認証処理中にユーザーとの対話を必要とする場合に発行されます。これらのリクエストは、ユーザにダイアログを表示することで処理されます。
request には、WebAuth UX リクエストを完了するために必要な情報と API が含まれています。
この関数は Qt 6.7 で導入されました。
QWebEngineWebAuthUxRequestも参照してください 。
QWebChannel *QWebEnginePage::webChannel() const
このページが使用する Web チャネルインスタンスへのポインタを返します。このチャネルは自動的に、このページの JavaScript コンテキストでqt.webChannelTransport
として公開されている、Chromium IPC 上の内部ウェブエンジントランスポートメカニズムを使用します。
setWebChannel()も参照してください 。
[signal]
void QWebEnginePage::windowCloseRequested()
このシグナルは、JavaScript のwindow.close()
呼び出しなどで、ページがウェブブラウザのウィンドウを閉じるよう要求するたびに発行されます。
RequestClose も参照 。
[signal, since 6.8]
void QWebEnginePage::zoomFactorChanged(qreal factor)
このシグナルは、ページのズームfactor が変更されるたびに発行されます。
注意: zoomFactor プロパティの通知シグナルです。
この関数は Qt 6.8 で導入されました。
zoomFactor() とsetZoomFactor()も 参照してください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。