QWebEngineDownloadRequest Class
QWebEngineDownloadRequest クラスは、ダウンロードに関する情報を提供します。詳細...
| ヘッダー | #include <QWebEngineDownloadRequest> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
| qmake | QT += webenginecore |
| QML で | WebEngineDownloadRequest |
| 継承: | QObject |
パブリックな型
| enum | DownloadInterruptReason { NoReason, FileFailed, FileAccessDenied, FileNoSpace, FileNameTooLong, …, UserCanceled } |
| enum | DownloadState { DownloadRequested, DownloadInProgress, DownloadCompleted, DownloadCancelled, DownloadInterrupted } |
| enum | SavePageFormat { UnknownSaveFormat, SingleHtmlSaveFormat, CompleteHtmlSaveFormat, MimeHtmlSaveFormat } |
プロパティ
|
|
パブリック機能
| QString | downloadDirectory() const |
| QString | downloadFileName() const |
| quint32 | id() const |
| QWebEngineDownloadRequest::DownloadInterruptReason | interruptReason() const |
| QString | interruptReasonString() const |
| bool | isFinished() const |
| bool | isPaused() const |
| bool | isSavePageDownload() const |
| QString | mimeType() const |
| QWebEnginePage * | page() const |
| qint64 | receivedBytes() const |
| QWebEngineDownloadRequest::SavePageFormat | savePageFormat() const |
| void | setDownloadDirectory(const QString &directory) |
| void | setDownloadFileName(const QString &fileName) |
| void | setSavePageFormat(QWebEngineDownloadRequest::SavePageFormat format) |
| QWebEngineDownloadRequest::DownloadState | state() const |
| QString | suggestedFileName() const |
| qint64 | totalBytes() const |
| QUrl | url() const |
パブリックスロット
シグナル
| void | downloadDirectoryChanged() |
| void | downloadFileNameChanged() |
| void | interruptReasonChanged() |
| void | isFinishedChanged() |
| void | isPausedChanged() |
| void | receivedBytesChanged() |
| void | savePageFormatChanged() |
| void | stateChanged(QWebEngineDownloadRequest::DownloadState state) |
| void | totalBytesChanged() |
詳細説明
QWebEngineDownloadRequest は、保留中のダウンロード要求から始まり、完了したダウンロードで終わる、ライフサイクル全体のダウンロードをモデル化します。たとえば、新しいダウンロードに関する情報の取得、進行状況の監視、ダウンロードの一時停止、再開、キャンセルなどに使用できます。
ダウンロードは通常、ウェブページ上でのユーザーの操作によって開始されます。新しいダウンロード要求をアプリケーションに通知するのは、QWebEngineProfile の責任です。downloadRequested シグナルを、新しく作成された QWebEngineDownloadRequest とともに発信します。アプリケーションはこの項目を調べ、受け入れるかどうかを決定します。決定が下されると、アプリケーションは、Qt WebEngine が実際にダウンロードを開始するか、リクエストを拒否するために、アイテムに対して明示的にaccept() またはcancel() を呼び出す必要があります。
注意: ファイルが保存されるパスやファイル名の設定(downloadDirectory ()とdownloadFileName ()を参照)など、一部のプロパティは、accept ()を呼び出す前にしか変更できません。
オブジェクトのライフサイクル
どのような場合でも、QWebEngineProfile がアイテムの所有権を持つ。しかし、downloadRequested シグナルの処理中以外であれば、アプリケーションはいつでもアイテムを削除しても安全です。QWebEngineProfile は長寿命のオブジェクトであるため、アプリケーションで は、不要になったアイテムを削除することが推奨される。
注: アイテムを削除すると、5.12.2以降、ダウンロードも自動的にキャンセルされますが、ポータビリティのために、削除する前に手動でキャンセルすることをお勧めします。
ウェブページのダウンロード
ネットワークから生のバイトを取得してディスクに書き込むだけの通常のファイルダウンロードに加え、Qt WebEngine は完全なウェブページの保存もサポートしています。この場合、ページの HTML を解析し、依存するリソースをダウンロードし、すべてを特別なファイル形式 (savePageFormat) にパッケージ化する可能性があります。ダウンロードの対象がファイルかウェブページかを確認するには、isSavePageDownload を使用します。
Webページの保存リクエストは自動的に受け付けられ、便宜上、DownloadInProgress の状態から開始されます。最初に直接接続されたdownloadRequested シグナル・ハンドラは、cancel() を呼び出すことで、これを防ぐことができる。そうしないと、保存操作はディスクへのデータ書き込みを開始する。
QWebEngineProfile 、QWebEngineProfile::downloadRequested 、QWebEnginePage::download 、QWebEnginePage::saveも参照のこと 。
メンバー型ドキュメント
enum QWebEngineDownloadRequest::DownloadInterruptReason
ダウンロードが中断された理由を説明します:
| 定数 | 値 | 説明 |
|---|---|---|
QWebEngineDownloadRequest::NoReason | 0 | 理由不明、または中断されていない。 |
QWebEngineDownloadRequest::FileFailed | 1 | 一般的なファイル操作の失敗。 |
QWebEngineDownloadRequest::FileAccessDenied | 2 | アクセス制限のため、ファイルをローカルに書き込めません。 |
QWebEngineDownloadRequest::FileNoSpace | 3 | ターゲット・ドライブの空き容量不足。 |
QWebEngineDownloadRequest::FileNameTooLong | 5 | ディレクトリ名またはファイル名が長すぎる。 |
QWebEngineDownloadRequest::FileTooLarge | 6 | ファイル・サイズがファイル・システムの制限を超えている。 |
QWebEngineDownloadRequest::FileVirusInfected | 7 | ファイルがウイルスに感染している。 |
QWebEngineDownloadRequest::FileTransientError | 10 | 一時的な問題(ファイルが使用中、メモリ不足、一度に開くファイルが多すぎるなど)。 |
QWebEngineDownloadRequest::FileBlocked | 11 | ローカルポリシーによりファイルがブロックされた。 |
QWebEngineDownloadRequest::FileSecurityCheckFailed | 12 | ダウンロードの安全性を確認しようとしましたが、予期せぬ理由で失敗しました。 |
QWebEngineDownloadRequest::FileTooShort | 13 | ファイルを開くときに、(以前に中断されたダウンロードを再開する一環として)ファイルの終端を超えてシークしようとしました。 |
QWebEngineDownloadRequest::FileHashMismatch | 14 | 部分ファイルが予想されたハッシュと一致しませんでした。 |
QWebEngineDownloadRequest::NetworkFailed | 20 | 一般的なネットワーク障害。 |
QWebEngineDownloadRequest::NetworkTimeout | 21 | ネットワーク操作がタイムアウトしました。 |
QWebEngineDownloadRequest::NetworkDisconnected | 22 | ネットワーク接続が終了しました。 |
QWebEngineDownloadRequest::NetworkServerDown | 23 | サーバーがダウンしました。 |
QWebEngineDownloadRequest::NetworkInvalidRequest | 24 | ネットワーク要求が無効でした(たとえば、元の URL またはリダイレクトされた URL が無効、サポートされていないスキーム、またはポリシーで許可されていない)。 |
QWebEngineDownloadRequest::ServerFailed | 30 | 一般的なサーバー障害。 |
QWebEngineDownloadRequest::ServerBadContent | 33 | サーバーに要求されたデータがない。 |
QWebEngineDownloadRequest::ServerUnauthorized | 34 | サーバーがリソースへのアクセスを許可しませんでした。 |
QWebEngineDownloadRequest::ServerCertProblem | 35 | サーバー証明書に問題が発生しました。 |
QWebEngineDownloadRequest::ServerForbidden | 36 | サーバーによってアクセスが禁止された。 |
QWebEngineDownloadRequest::ServerUnreachable | 37 | 予期しないサーバー応答(応答したサーバーが意図したサーバーでない可能性があることを示す)。 |
QWebEngineDownloadRequest::UserCanceled | 40 | ユーザーがダウンロードをキャンセルした。 |
enum QWebEngineDownloadRequest::DownloadState
この列挙型は、ダウンロードの状態を記述する:
| 定数 | 値 | 説明 |
|---|---|---|
QWebEngineDownloadRequest::DownloadRequested | 0 | ダウンロードが要求されたが、まだ受け入れられていない。 |
QWebEngineDownloadRequest::DownloadInProgress | 1 | ダウンロードは進行中です。 |
QWebEngineDownloadRequest::DownloadCompleted | 2 | ダウンロードは正常に完了しました。 |
QWebEngineDownloadRequest::DownloadCancelled | 3 | ダウンロードがキャンセルされました。 |
QWebEngineDownloadRequest::DownloadInterrupted | 4 | ダウンロードが中断されました(サーバーによって、または接続が失われたため)。 |
enum QWebEngineDownloadRequest::SavePageFormat
この列挙型は、ウェブページを保存するために使用されるフォーマットを記述します。
| 定数 | 値 | 説明 |
|---|---|---|
QWebEngineDownloadRequest::UnknownSaveFormat | -1 | これは完全なウェブページのダウンロード要求ではありません。 |
QWebEngineDownloadRequest::SingleHtmlSaveFormat | 0 | ページは単一のHTMLページとして保存されます。画像のようなリソースは保存されません。 |
QWebEngineDownloadRequest::CompleteHtmlSaveFormat | 1 | ページは完全なHTMLページとして保存され、例えば、単一のHTMLページとリソースを含むディレクトリとして保存されます。 |
QWebEngineDownloadRequest::MimeHtmlSaveFormat | 2 | ページは、MIME HTML形式の完全なWebページとして保存されます。 |
プロパティ・ドキュメンテーション
downloadDirectory : QString
このプロパティは、ダウンロード・ディレクトリ・パスを保持する。
ダウンロード・ディレクトリ・パスは、ダウンロードが受理される前のQWebEngineProfile::downloadRequested() シグナルへの応答でのみ設定できます。それ以降、このプロパティはダウンロードアイテムの状態に影響しません。
アクセス関数
| QString | downloadDirectory() const |
| void | setDownloadDirectory(const QString &directory) |
Notifier シグナル:
| void | downloadDirectoryChanged() |
downloadFileName : QString
このプロパティは、ファイルをダウンロードするファイル名を保持する。
ダウンロードファイル名は、ダウンロードが受理される前のQWebEngineProfile::downloadRequested() シグナルへの応答でのみ設定できます。それ以降、このプロパティはダウンロードアイテムの状態に影響しません。
アクセス関数:
| QString | downloadFileName() const |
| void | setDownloadFileName(const QString &fileName) |
Notifier シグナル:
| void | downloadFileNameChanged() |
[read-only] id : const quint32
このプロパティは、ダウンロードアイテムの ID を保持する。
アクセス関数です:
| quint32 | id() const |
[read-only] interruptReason : DownloadInterruptReason
このプロパティは、ダウンロードが中断された理由を保持する。
アクセス関数
| QWebEngineDownloadRequest::DownloadInterruptReason | interruptReason() const |
Notifierシグナル:
| void | interruptReasonChanged() |
[read-only] interruptReasonString : QString
このプロパティには、ダウンロードを中断した理由を人間が読めるように記述する。
アクセス関数
| QString | interruptReasonString() const |
Notifierシグナル:
| void | interruptReasonChanged() |
interruptReasonも参照のこと 。
[read-only] isFinished : bool
このプロパティは、このダウンロードが終了(完了、キャンセル、または再開不可能な中断状態)したかどうかを保持する。
アクセス関数
| bool | isFinished() const |
通知シグナル:
| void | isFinishedChanged() |
state()も参照 。
[read-only] isPaused : bool
このプロパティは、このダウンロードが一時停止されているかどうかを保持する。
アクセス関数
| bool | isPaused() const |
Notifier シグナル:
| void | isPausedChanged() |
[read-only] isSavePageDownload : const bool
このプロパティは、Web ページを保存するためのダウンロード要求であるかどうかを保持する。
アクセス関数:
| bool | isSavePageDownload() const |
savePageFormatも参照してください 。
[read-only] mimeType : QString
このプロパティは、ダウンロードの MIME タイプを保持する。
アクセス関数です:
| QString | mimeType() const |
[read-only] receivedBytes : qint64
このプロパティは、これまでにダウンロードされたデータ量をバイト単位で保持する。
-1 はサイズが不明であることを意味する。
アクセス関数
| qint64 | receivedBytes() const |
通知シグナル
| void | receivedBytesChanged() |
savePageFormat : SavePageFormat
このプロパティは、ウェブページのダウンロード要求である場合に、ウェブページが保存される形式を保持します。
アクセス関数
| QWebEngineDownloadRequest::SavePageFormat | savePageFormat() const |
| void | setSavePageFormat(QWebEngineDownloadRequest::SavePageFormat format) |
ノーティファイアシグナル:
| void | savePageFormatChanged() |
isSavePageDownloadも参照してください 。
[read-only] state : DownloadState
このプロパティは、ダウンロードアイテムの現在の状態を保持する。
アクセス関数
| QWebEngineDownloadRequest::DownloadState | state() const |
通知シグナル:
| void | stateChanged(QWebEngineDownloadRequest::DownloadState state) |
DownloadStateも参照 。
[read-only] suggestedFileName : const QString
このプロパティは、推奨ファイル名を保持する。
アクセス関数:
| QString | suggestedFileName() const |
[read-only] totalBytes : qint64
このプロパティは、ダウンロードするデータの総量をバイト単位で保持する。
-1 はサイズが不明であることを意味する。
アクセス関数
| qint64 | totalBytes() const |
通知シグナル
| void | totalBytesChanged() |
[read-only] url : const QUrl
このプロパティは、ダウンロード元のURLを保持します。
アクセス関数
| QUrl | url() const |
メンバー関数ドキュメント
[slot] void QWebEngineDownloadRequest::accept()
現在のダウンロード要求を受け入れ、ダウンロードを開始する。
アイテムがDownloadRequested 状態の場合、DownloadInProgress 状態に遷移し、ダウンロードが開始されます。アイテムが他の状態にある場合は、何も起こりません。
isFinished およびstateChanged()も参照してください 。
[slot] void QWebEngineDownloadRequest::cancel()
現在のダウンロードをキャンセルします。
アイテムがDownloadInProgress の状態にある場合、DownloadCancelled の状態に移行し、ダウンロードが停止し、部分的にダウンロードされたファイルがディスクから削除されます。
アイテムがDownloadCompleted 状態の場合は、何も起こらない。アイテムが他の状態にある場合は、そのままDownloadCancelled の状態に移行する。
isFinished およびstateChanged()も参照のこと 。
[signal] void QWebEngineDownloadRequest::isPausedChanged()
このシグナルはisPaused が変更されるたびに発行される。
注意: isPaused プロパティのノーティファイアシグナル。
QWebEnginePage *QWebEngineDownloadRequest::page() const
ダウンロードが要求されたページを返す。ダウンロードがページ内のコンテンツによって引き起こされなかった場合は、nullptr 。
[slot] void QWebEngineDownloadRequest::pause()
ダウンロードを一時停止する。
状態がDownloadInProgress でない場合は効果がない。状態を変更しない。
[slot] void QWebEngineDownloadRequest::resume()
現在のダウンロードが一時停止または中断された場合、それを再開する。
状態がDownloadInProgress またはDownloadInterrupted でない場合は、何の効果もない。状態を変更しない。
pause()、isPaused()、state()も参照 。
[signal] void QWebEngineDownloadRequest::stateChanged(QWebEngineDownloadRequest::DownloadState state)
このシグナルは、ダウンロードのstate が変更されるたびに発行される。
注意: state プロパティのノーティファイアシグナル。
state() およびDownloadStateも参照してください 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.