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 의 책임이며, 새로 생성된 QWebEngineDownloadRequest와 함께 downloadRequested 신호를 전송하여 이를 수행합니다. 그러면 애플리케이션은 이 항목을 검토하고 수락 여부를 결정할 수 있습니다. 신호 처리기는 Qt WebEngine 항목에서 accept()를 명시적으로 호출해야 실제로 데이터를 다운로드하고 디스크에 쓰기 시작할 수 있습니다. accept ()를 호출하는 신호 처리기가 없으면 다운로드 요청이 자동으로 거부되고 아무 것도 디스크에 기록되지 않습니다.

참고: 파일이 저장될 경로 및 파일 이름 설정( downloadDirectory() 및 downloadFileName() 참조)과 같은 일부 속성은 accept() 호출 전에만 변경할 수 있습니다.

항목 수명 주기

모든 항목은 downloadRequested 신호가 전송되는 동안 유효합니다. accept ()가 신호 처리기에 의해 호출되지 않으면 해당 항목은 신호가 방출된 직후 삭제됩니다. 이는 애플리케이션이 거부된 다운로드 항목에 대한 참조를 유지해서는 된다는 의미입니다. 또한 애플리케이션이 이 신호에 대한 대기열 연결을 사용해서는 안 된다는 의미이기도 합니다.

신호 핸들러가 accept() 호출하면 QWebEngineProfile 이 항목의 소유권을 갖게 됩니다. 그러나 downloadRequested 신호를 처리하는 동안을 제외하고는 애플리케이션이 언제든지 항목을 삭제해도 안전합니다. QWebEngineProfile 는 수명이 긴 객체이므로 실제로 애플리케이션에서 더 이상 관심이 없는 항목은 삭제하는 것이 좋습니다.

참고: 항목을 삭제하면 5.12.2 이후 다운로드도 자동으로 취소되지만 이식성을 위해 삭제하기 전에 수동으로 취소하는 것이 좋습니다.

웹 페이지 다운로드

Qt WebEngine 에서는 단순히 네트워크에서 원시 바이트를 검색하여 디스크에 쓰는 일반적인 파일 다운로드 외에도 페이지의 HTML을 파싱하고, 종속 리소스를 다운로드하고, 모든 것을 특수 파일 형식으로 패키징하는 등 전체 웹 페이지 저장도 지원합니다(savePageFormat). 다운로드가 파일인지 웹 페이지인지 확인하려면 isSavePageDownload 을 사용하세요.

QWebEngineProfile, QWebEngineProfile::downloadRequested, QWebEnginePage::download, QWebEnginePage::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이 유효하지 않거나, 지원되지 않는 스키마가 있거나, 정책에 의해 허용되지 않음).
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

이 열거형은 웹 페이지를 저장하는 데 사용되는 형식을 설명합니다.

Constant설명
QWebEngineDownloadRequest::UnknownSaveFormat-1전체 웹 페이지를 다운로드하는 요청이 아닙니다.
QWebEngineDownloadRequest::SingleHtmlSaveFormat0페이지가 단일 HTML 페이지로 저장됩니다. 이미지와 같은 리소스는 저장되지 않습니다.
QWebEngineDownloadRequest::CompleteHtmlSaveFormat1페이지가 전체 HTML 페이지로 저장됩니다(예: 단일 HTML 페이지와 리소스가 포함된 디렉토리).
QWebEngineDownloadRequest::MimeHtmlSaveFormat2페이지가 MIME HTML 형식의 전체 웹 페이지로 저장됩니다.

속성 문서

[read-only] isFinished : const bool

이 속성은 다운로드가 완료되었는지(완료, 취소 또는 재개할 수 없는 중단 상태)를 저장합니다.

액세스 기능:

bool isFinished() const

알림 신호:

void isFinishedChanged()

state()도 참조하세요 .

[read-only] isPaused : const bool

이 속성은 다운로드가 일시 중지되었는지 여부를 저장합니다.

액세스 기능:

bool isPaused() const

알림 신호:

pause() 및 resume()도 참조하세요 .

멤버 함수 문서

[slot] void QWebEngineDownloadRequest::accept()

현재 다운로드 요청을 수락하면 다운로드가 시작됩니다.

항목이 DownloadRequested 상태인 경우 DownloadInProgress 상태로 전환되고 다운로드가 시작됩니다. 항목이 다른 상태이면 아무 일도 일어나지 않습니다.

isFinishedstateChanged()도 참조하세요 .

[slot] void QWebEngineDownloadRequest::cancel()

현재 다운로드를 취소합니다.

항목이 DownloadInProgress 상태인 경우 DownloadCancelled 상태로 전환되고 다운로드가 중지되며 부분적으로 다운로드된 파일이 디스크에서 삭제됩니다.

항목이 DownloadCompleted 상태인 경우에는 아무 일도 일어나지 않습니다. 항목이 다른 상태인 경우에는 추가 효과 없이 DownloadCancelled 상태로 전환됩니다.

isFinishedstateChanged()도 참조하세요 .

QString QWebEngineDownloadRequest::downloadDirectory() const

다운로드 디렉터리 경로를 반환합니다.

참고: 다운로드 디렉터리 속성에 대한 게터 함수 다운로드 디렉터리.

setDownloadDirectory()도 참조하세요 .

QString QWebEngineDownloadRequest::downloadFileName() const

파일을 다운로드할 파일 이름을 반환합니다.

참고: 다운로드 파일 이름 속성에 대한 게터 함수입니다.

setDownloadFileName()도 참조하세요 .

quint32 QWebEngineDownloadRequest::id() const

다운로드 항목의 ID를 반환합니다.

참고: 속성 ID에 대한 겟터 함수입니다.

QWebEngineDownloadRequest::DownloadInterruptReason QWebEngineDownloadRequest::interruptReason() const

다운로드가 중단된 이유를 반환합니다.

참고: interruptReason 속성에 대한 게터 함수입니다.

interruptReasonString()도 참조하세요 .

QString QWebEngineDownloadRequest::interruptReasonString() const

다운로드를 중단한 이유에 대한 사람이 읽을 수 있는 설명을 반환합니다.

참고: 인터럽트 이유 문자열 속성에 대한 게터 함수입니다.

interruptReason()도 참조하세요 .

[signal] void QWebEngineDownloadRequest::isPausedChanged()

이 신호는 isPaused 가 변경될 때마다 전송됩니다.

참고: 속성에 대한 알림 신호 isPaused.

pause() 및 isPaused도 참조하세요 .

bool QWebEngineDownloadRequest::isSavePageDownload() const

웹 페이지 저장을 위한 다운로드 요청인 경우 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 는 크기를 알 수 없음을 의미합니다.

참고: 받은바이트 속성에 대한 게터 함수입니다.

[slot] void QWebEngineDownloadRequest::resume()

현재 다운로드가 일시 중지되었거나 중단된 경우 다시 시작합니다.

상태가 DownloadInProgress 또는 DownloadInterrupted 이 아닌 경우 영향을 미치지 않습니다. 상태를 변경하지 않습니다.

pause(), isPaused() 및 state()도 참조하세요 .

QWebEngineDownloadRequest::SavePageFormat QWebEngineDownloadRequest::savePageFormat() const

웹 페이지에 대한 다운로드 요청인 경우 웹 페이지가 저장될 형식을 반환합니다.

참고: 저장 페이지 형식 속성에 대한 게터 함수입니다.

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)

웹 페이지에 대한 다운로드 요청인 경우 웹 페이지가 저장될 format 을 설정합니다.

참고: savePageFormat 속성에 대한 설정자 함수입니다.

savePageFormat() 및 isSavePageDownload()도 참조하세요 .

QWebEngineDownloadRequest::DownloadState QWebEngineDownloadRequest::state() const

다운로드 항목의 현재 상태를 반환합니다.

참고: 속성 상태에 대한 게터 함수입니다.

DownloadState참조하세요 .

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

이 신호는 다운로드의 state 가 변경될 때마다 전송됩니다.

참고: 속성 state 에 대한 알림 신호입니다.

state() 및 DownloadState도 참조하세요 .

QString QWebEngineDownloadRequest::suggestedFileName() const

제안된 파일 이름을 반환합니다.

참고: 제안된 파일 이름 프로퍼티에 대한 게터 함수입니다.

qint64 QWebEngineDownloadRequest::totalBytes() const

다운로드할 총 데이터 양을 바이트 단위로 반환합니다.

-1 는 크기를 알 수 없음을 의미합니다.

참고: 총바이트 속성에 대한 Getter 함수입니다.

QUrl QWebEngineDownloadRequest::url() const

다운로드의 원본 URL을 반환합니다.

참고: 속성 URL에 대한 게터 함수입니다.

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