QWebEngineDownloadRequest Class

QWebEngineDownloadRequest クラスは、ダウンロードに関する情報を提供します。詳細...

Header: #include <QWebEngineDownloadRequest>
CMake: find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake: QT += webenginecore
In QML: WebEngineDownloadRequest
Inherits: 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() を呼び出す必要があります。シグナルハンドラがaccept() を呼び出さない場合、ダウンロード要求は自動的に拒否され、ディスクには何も書き込まれません。

注意: ファイルの保存先パスやファイル名の設定など、一部のプロパティはaccept() を呼び出す前にしか変更できません (downloadDirectory() およびdownloadFileName() を参照)。

オブジェクトのライフサイクル

すべての項目は、downloadRequested シグナルが発せられる間、有効であることが保証される。どのシグナル・ハンドラからもaccept() が呼び出されなかった場合、そのアイテムはシグナルの 発生直後に削除されます。つまり、アプリケーションは、拒否されたダウンロード・アイテムの参照を保持してはならない。また、アプリケーションはこのシグナルへのキュー接続を使用してはならない。

accept()シグナル・ハンドラによって呼び出された場合、QWebEngineProfile はアイテムの所有権を取得します。しかし、downloadRequested シグナルの処理中以外であれば、アプリケーションはいつでもアイテムを削除しても安全である。QWebEngineProfile は長寿命のオブジェクトであるため、アプリケーションは不要になったアイテムを削除することを推奨します。

注: アイテムを削除すると、5.12.2以降、ダウンロードも自動的にキャンセルされますが、ポータビリティのために、削除する前に手動でキャンセルすることをお勧めします。

ウェブページのダウンロード

Qt WebEngine では、ネットワークから生のバイトを取得してディスクに書き込むだけの通常のファイルダ ウンロードに加えて、ページの HTML を解析して依存リソースをダウンロードし、すべてを特別なファイル形式 (savePageFormat) にパッケージ化する可能性のある、完全な Web ページの保存もサポートしています。ダウンロードがファイルか Web ページかを確認するには、isSavePageDownload を使用します。

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ページとして保存されます。

プロパティ Documentation

[read-only] isFinished : const bool

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

アクセス関数

bool isFinished() const

Notifier シグナル:

void isFinishedChanged()

state()も参照

[read-only] isPaused : const bool

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

アクセス関数:

bool isPaused() const

Notifier シグナル:

pause() およびresume()参照のこと。

メンバー関数 ドキュメント

[slot] void QWebEngineDownloadRequest::accept()

現在のダウンロード要求を受け付け、ダウンロードを開始する。

アイテムがDownloadRequested 状態の場合、DownloadInProgress 状態に遷移し、ダウンロードが開始されます。アイテムが他の状態にある場合は、何も起こりません。

isFinished およびstateChanged()も参照して ください。

[slot] void QWebEngineDownloadRequest::cancel()

現在のダウンロードをキャンセルします。

アイテムがDownloadInProgress の状態にある場合、DownloadCancelled の状態に遷移し、ダウンロードが停止し、部分的にダウンロードされたファイルがディスクから削除されます。

アイテムがDownloadCompleted 状態の場合は、何も起こらない。アイテムが他の状態にある場合は、そのままDownloadCancelled の状態に移行する。

isFinished およびstateChanged()も参照して ください。

QString QWebEngineDownloadRequest::downloadDirectory() const

ダウンロード・ディレクトリ・パスを返します。

注釈: プロパティ downloadDirectory のゲッター関数です。

setDownloadDirectory()も参照

QString QWebEngineDownloadRequest::downloadFileName() const

ダウンロード先のファイル名を返します。

メモ: プロパティ downloadFileName のゲッター関数。

setDownloadFileName() も参照

quint32 QWebEngineDownloadRequest::id() const

ダウンロード項目の ID を返します。

メモ: プロパティ id のゲッター関数。

QWebEngineDownloadRequest::DownloadInterruptReason QWebEngineDownloadRequest::interruptReason() const

ダウンロードが中断された理由を返す。

注釈: プロパティ interruptReason のゲッター関数。

interruptReasonString()も参照のこと

QString QWebEngineDownloadRequest::interruptReasonString() const

ダウンロードを中断した理由を、人間が読める形で返します。

注: プロパティ interruptReasonString のゲッター関数です。

interruptReason()も参照

[signal] void QWebEngineDownloadRequest::isPausedChanged()

このシグナルは、isPaused が変更されるたびに発行される。

注: プロパティisPaused に対するノーティファイア・シグナル。

pause() およびisPaused参照

bool QWebEngineDownloadRequest::isSavePageDownload() const

Web ページを保存するためのダウンロード要求である場合、true を返す。

注: プロパティ isSavePageDownload に対するゲッター関数。

savePageFormat() およびsetSavePageFormat()も参照

QString QWebEngineDownloadRequest::mimeType() const

ダウンロードの MIME タイプを返します。

メモ: プロパティ mimeType のゲッター関数。

QWebEnginePage *QWebEngineDownloadRequest::page() const

ダウンロードが要求されたページを返す。ダウンロードがページ内のコンテンツによってトリガされなかった場合、nullptr が返される。

[slot] void QWebEngineDownloadRequest::pause()

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

状態がDownloadInProgress でない場合、効果はありません。状態を変更しません。

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

qint64 QWebEngineDownloadRequest::receivedBytes() const

これまでにダウンロードされたデータ量をバイト数で返します。

-1 は、サイズが不明であることを意味する。

注釈 receiveBytes プロパティのゲッター関数。

[slot] void QWebEngineDownloadRequest::resume()

現在のダウンロードが一時停止または中断された場合、それを再開する。

状態がDownloadInProgress またはDownloadInterrupted でない場合は影響しません。状態を変更しない。

pause()、isPaused()、およびstate()も参照して ください。

QWebEngineDownloadRequest::SavePageFormat QWebEngineDownloadRequest::savePageFormat() const

Web ページのダウンロード要求の場合、Web ページが保存される形式を返します。

注意: プロパティ savePageFormat のゲッター関数です。

setSavePageFormat() およびisSavePageDownload()も参照して ください。

void QWebEngineDownloadRequest::setDownloadDirectory(const QString &directory)

ファイルをダウンロードするディレクトリ・パスをdirectory に設定します。

ダウンロード・ディレクトリ・パスは、ダウンロードを受け付ける前のQWebEngineProfile::downloadRequested() シグナルに応答してのみ設定できます。それ以降、この関数はダウンロードアイテムの状態には影響しません。

注: プロパティdownloadDirectory のセッター関数。

downloadDirectory()も参照

void QWebEngineDownloadRequest::setDownloadFileName(const QString &fileName)

ファイルをダウンロードするファイル名としてfileName を設定します。

ダウンロード・ファイル名を設定できるのは、ダウンロードを受け付ける前のQWebEngineProfile::downloadRequested() シグナルに対する応答のみである。それ以降、この関数はダウンロードアイテムの状態に影響しません。

注: プロパティdownloadFileName のセッター関数。

downloadFileName()も参照してください

void QWebEngineDownloadRequest::setSavePageFormat(QWebEngineDownloadRequest::SavePageFormat format)

Web ページのダウンロード要求の場合、Web ページが保存されるformat を設定します。

注釈: プロパティsavePageFormat のセッター関数。

savePageFormat() およびisSavePageDownload()も参照して ください。

QWebEngineDownloadRequest::DownloadState QWebEngineDownloadRequest::state() const

ダウンロード項目の現在の状態を返します。

備考: プロパティ state のゲッター関数。

DownloadStateも参照

[signal] void QWebEngineDownloadRequest::stateChanged(QWebEngineDownloadRequest::DownloadState state)

このシグナルは、ダウンロードのstate が変更されるたびに発行される。

注: プロパティstate に対するノーティファイア・シグナル。

state() およびDownloadState参照して ください。

QString QWebEngineDownloadRequest::suggestedFileName() const

提案されたファイル名を返す。

メモ: proposedFileName プロパティのゲッター関数。

qint64 QWebEngineDownloadRequest::totalBytes() const

ダウンロードするデータの総量をバイト単位で返す。

-1 は、サイズが不明であることを意味します。

注: totalBytes プロパティのゲッター関数です。

QUrl QWebEngineDownloadRequest::url() const

ダウンロード元のURLを返します。

注: プロパティ url のゲッター関数です。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。