このページでは

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 accept()
void cancel()
void pause()
void resume()

シグナル

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() を呼び出すことで、これを防ぐことができる。そうしないと、保存操作はディスクへのデータ書き込みを開始する。

QWebEngineProfileQWebEngineProfile::downloadRequestedQWebEnginePage::downloadQWebEnginePage::saveも参照のこと

メンバー型ドキュメント

enum QWebEngineDownloadRequest::DownloadInterruptReason

ダウンロードが中断された理由を説明します:

定数説明
QWebEngineDownloadRequest::NoReason0理由不明、または中断されていない。
QWebEngineDownloadRequest::FileFailed1一般的なファイル操作の失敗。
QWebEngineDownloadRequest::FileAccessDenied2アクセス制限のため、ファイルをローカルに書き込めません。
QWebEngineDownloadRequest::FileNoSpace3ターゲット・ドライブの空き容量不足。
QWebEngineDownloadRequest::FileNameTooLong5ディレクトリ名またはファイル名が長すぎる。
QWebEngineDownloadRequest::FileTooLarge6ファイル・サイズがファイル・システムの制限を超えている。
QWebEngineDownloadRequest::FileVirusInfected7ファイルがウイルスに感染している。
QWebEngineDownloadRequest::FileTransientError10一時的な問題(ファイルが使用中、メモリ不足、一度に開くファイルが多すぎるなど)。
QWebEngineDownloadRequest::FileBlocked11ローカルポリシーによりファイルがブロックされた。
QWebEngineDownloadRequest::FileSecurityCheckFailed12ダウンロードの安全性を確認しようとしましたが、予期せぬ理由で失敗しました。
QWebEngineDownloadRequest::FileTooShort13ファイルを開くときに、(以前に中断されたダウンロードを再開する一環として)ファイルの終端を超えてシークしようとしました。
QWebEngineDownloadRequest::FileHashMismatch14部分ファイルが予想されたハッシュと一致しませんでした。
QWebEngineDownloadRequest::NetworkFailed20一般的なネットワーク障害。
QWebEngineDownloadRequest::NetworkTimeout21ネットワーク操作がタイムアウトしました。
QWebEngineDownloadRequest::NetworkDisconnected22ネットワーク接続が終了しました。
QWebEngineDownloadRequest::NetworkServerDown23サーバーがダウンしました。
QWebEngineDownloadRequest::NetworkInvalidRequest24ネットワーク要求が無効でした(たとえば、元の URL またはリダイレクトされた URL が無効、サポートされていないスキーム、またはポリシーで許可されていない)。
QWebEngineDownloadRequest::ServerFailed30一般的なサーバー障害。
QWebEngineDownloadRequest::ServerBadContent33サーバーに要求されたデータがない。
QWebEngineDownloadRequest::ServerUnauthorized34サーバーがリソースへのアクセスを許可しませんでした。
QWebEngineDownloadRequest::ServerCertProblem35サーバー証明書に問題が発生しました。
QWebEngineDownloadRequest::ServerForbidden36サーバーによってアクセスが禁止された。
QWebEngineDownloadRequest::ServerUnreachable37予期しないサーバー応答(応答したサーバーが意図したサーバーでない可能性があることを示す)。
QWebEngineDownloadRequest::UserCanceled40ユーザーがダウンロードをキャンセルした。

enum QWebEngineDownloadRequest::DownloadState

この列挙型は、ダウンロードの状態を記述する:

定数説明
QWebEngineDownloadRequest::DownloadRequested0ダウンロードが要求されたが、まだ受け入れられていない。
QWebEngineDownloadRequest::DownloadInProgress1ダウンロードは進行中です。
QWebEngineDownloadRequest::DownloadCompleted2ダウンロードは正常に完了しました。
QWebEngineDownloadRequest::DownloadCancelled3ダウンロードがキャンセルされました。
QWebEngineDownloadRequest::DownloadInterrupted4ダウンロードが中断されました(サーバーによって、または接続が失われたため)。

enum QWebEngineDownloadRequest::SavePageFormat

この列挙型は、ウェブページを保存するために使用されるフォーマットを記述します。

定数説明
QWebEngineDownloadRequest::UnknownSaveFormat-1これは完全なウェブページのダウンロード要求ではありません。
QWebEngineDownloadRequest::SingleHtmlSaveFormat0ページは単一のHTMLページとして保存されます。画像のようなリソースは保存されません。
QWebEngineDownloadRequest::CompleteHtmlSaveFormat1ページは完全なHTMLページとして保存され、例えば、単一のHTMLページとリソースを含むディレクトリとして保存されます。
QWebEngineDownloadRequest::MimeHtmlSaveFormat2ページは、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()

interruptReasonStringも参照

[read-only] interruptReasonString : QString

このプロパティには、ダウンロードを中断した理由を人間が読めるように記述する。

アクセス関数

QString interruptReasonString() const

Notifierシグナル:

interruptReasonも参照のこと

[read-only] isFinished : bool

このプロパティは、このダウンロードが終了(完了、キャンセル、または再開不可能な中断状態)したかどうかを保持する。

アクセス関数

bool isFinished() const

通知シグナル:

void isFinishedChanged()

state()も参照

[read-only] isPaused : bool

このプロパティは、このダウンロードが一時停止されているかどうかを保持する。

アクセス関数

bool isPaused() const

Notifier シグナル:

pause() およびresume()も参照

[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 プロパティのノーティファイアシグナル。

pause() およびisPausedも参照のこと

QWebEnginePage *QWebEngineDownloadRequest::page() const

ダウンロードが要求されたページを返す。ダウンロードがページ内のコンテンツによって引き起こされなかった場合は、nullptr

[slot] void QWebEngineDownloadRequest::pause()

ダウンロードを一時停止する。

状態がDownloadInProgress でない場合は効果がない。状態を変更しない。

resume() およびisPaused()も参照

[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.