QWebEnginePage Class
QWebEnginePage クラスは、Web ドキュメントを閲覧・編集するためのオブジェクトを提供します。詳細...
ヘッダー | #include <QWebEnginePage> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
qmake: | QT += webenginecore |
継承: | 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.7) void | desktopMediaRequested(const QWebEngineDesktopMediaRequest &request) |
(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
この列挙型は、ウェブページ上で実行できるアクションのタイプを記述します。
アクションは、適用可能な場合にのみ効果を持つ。
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) |
Notifierシグナル:
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 、Page Lifecycle API、WebEngine Lifecycle Exampleも参照してください 。
[read-only]
renderProcessPid : const qint64
このプロパティは、現在のページのメインフレームに割り当てられているレンダリングプロセスのプロセスID(PID)を保持する。
まだ利用可能なレンダープロセスがない場合は、0
。
アクセス関数
qint64 | renderProcessPid() const |
通知シグナル
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 |
通知シグナル
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) |
ノーティファイア・シグナル:
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) |
通知シグナル:
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 エン ジ ン ページ を、 親プ ロ フ ァ イ ルparent を持つ Web エン ジ ン プ ロ フ ァ イ ルprofile 内に構築 し ます。
プロファイルがデフォルトのプロファイルでない場合、呼び出し元はページが存続する限りプロファイルが存続するようにしなければなりません。
[virtual noexcept]
QWebEnginePage::~QWebEnginePage()
ウェブページを破壊する。
[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フォームのファイルアップロードボタンをユーザーがクリックした結果など、ウェブコンテンツがファイル名を要求したときに呼び出されます。
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()も参照してください 。
[signal, since 6.7]
void QWebEnginePage::desktopMediaRequested(const QWebEngineDesktopMediaRequest &request)
このシグナルは、Webアプリケーションがディスプレイのコンテンツへのアクセスを要求したときに発行される。
引数request は、キャプチャ可能なウィンドウとスクリーンのデータモデルへの参照を保持します。要求を受け入れるために、シグナルハンドラはQWebEngineDesktopMediaRequest::selectScreen() またはQWebEngineDesktopMediaRequest::selectWindow() を呼び出します。
この関数はQt 6.7で導入されました。
[since 6.6]
QString QWebEnginePage::devToolsId() const
このページに関連付けられた開発者ツールホストの ID を返します。
リモートデバッグが有効になっている場合 (Qt WebEngine Developer Tools を参照)、この id を使って開発者ツールのウェブソケットに接続するための URL を作成することができます:ws://localhost:<debugggin-port>/devtools/page/<id>)
。ウェブソケットは、DevTools プロトコルを使用してページと対話するために使用できます。
この関数は 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)
このシグナルは、ウェブ・ページがローカル・ファイルやディレクトリーへの アクセスを要求したときに発せられる。
リクエストオブジェクト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 に変更したいときに発行される。
注意: 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プログラムがウェブ・ブラウザのコンソールにmessage 。
例えば、評価エラーの場合、sourceID にソースURLが提供され、lineNumber.
level は、メッセージをトリガーしたイベントの重大度を示します。つまり、エラーでトリガーされたのか、それほど深刻でないイベントでトリガーされたのかを示します。
Qt 5.6以降、デフォルトの実装では、メッセージはjs
logging category に記録されます。
コンソールログも参照してください 。
[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 によって提供され、0 から 100 の範囲でスケーリングされます。これはQProgressBar のデフォルト範囲です。 このシグナルは、すべての子フレームからの変更を累積します。
[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 が発行され、ウェブエンジンの別ウィンドウにページがロードされたときに発行されます。これは、現在のページがJavaScriptのwindow.open
への呼び出しによって明示的に要求したためか、ユーザーが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 = {})
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
現在ロードされているウェブページをディスクに保存する。
ウェブページは指定されたformat のfilePath に保存されます。
これは以下のアクションのショートカットです:
- Web 保存アクションをトリガーします。
- 次のダウンロード項目を受け入れ、指定されたファイルパスと 保存形式を設定します。
この関数はウェブページの非同期ダウンロード要求を発行し、すぐに戻ります。
QWebEngineDownloadRequest::SavePageFormatも参照してください 。
QWebEngineScriptCollection &QWebEnginePage::scripts()
ページに注入されたスクリプトのコレクションを返します。
さらに、ページはQWebEngineProfile::scripts() を通して追加されたスクリプトも実行するかもしれません。
QWebEngineScriptCollection 、QWebEngineScript 、およびスクリプト・インジェクションも参照してください 。
[signal]
void QWebEnginePage::selectClientCertificate(QWebEngineClientCertificateSelection clientCertificateSelection)
このシグナルは、ウェブサイトが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())
ウェブページのコンテンツをdata に設定します。引数mimeType が空の場合、コンテンツはtext/plain,charset=US-ASCII
であるとみなされます。
コンテンツで参照される外部オブジェクトは、baseUrl からの相対位置にあります。相対 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) と同等の便利な関数です。
注意: このメソッドは、そのページのセッション履歴やグローバル履歴には影響しません。
警告 この関数は HTML に対してのみ動作します。他の 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
このページが使用するウェブチャネルのインスタンスへのポインタ、または何も設定されていない場合は null ポインタを返します。このチャネルは、Chromium IPC を介したウェブエンジン内部のトランスポート機構を自動的に使用します。この機構は、このページの JavaScript コンテキストでqt.webChannelTransport
として公開されています。
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()も参照してください 。
© 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.