QtTaskTree::QNetworkReplyWrapper Class
class QtTaskTree::QNetworkReplyWrapperQNetworkReply 和QNetworkAccessManager 的封装。更多
| 头文件: | #include <qnetworkwrappertask.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree)target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| 自 | Qt 6.11 |
| 继承: | QObject |
注意:该类中的所有函数都是可重入的。
公共函数
| QNetworkReplyWrapper(QObject *parent) | |
| virtual | ~QNetworkReplyWrapper() override |
| QNetworkReply * | reply() const |
| void | setData(const QByteArray &data) |
| void | setNetworkAccessManager(QNetworkAccessManager *manager) |
| void | setOperation(QNetworkAccessManager::Operation operation) |
| void | setRequest(const QNetworkRequest &request) |
| void | setVerb(const QByteArray &verb) |
| void | start() |
信号
| void | done(QtTaskTree::DoneResult result) |
| void | downloadProgress(qint64 bytesReceived, qint64 bytesTotal) |
| void | sslErrors(const QList<QSslError> &errors) |
| void | started() |
重实现保护函数
| virtual bool | event(QEvent *event) override |
详细说明
QNetworkReplyWrapper 是一个结合了QNetworkAccessManager 和QNetworkReply 的便捷类。
强制配置是调用setNetworkAccessManager() 和setRequest() 。默认情况下,QNetworkReplyWrapper 是通过QNetworkAccessManager::GetOperation 配置的。使用setOperation() 执行其他操作。当配置的操作是 Put、Post 或 Custom 时,使用setData() 。当配置的操作为自定义时,使用setVerb() 。
可通过reply() 方法访问相关的QNetworkReply 。QNetworkReply 由start() 方法动态创建,并由 QNetworkReplyWrapper 管理。它在发出done() 信号后被删除。
成员函数文档
[explicit] QNetworkReplyWrapper::QNetworkReplyWrapper(QObject *parent)
使用给定的parent 创建 QNetworkReplyWrapper。
[override virtual noexcept] QNetworkReplyWrapper::~QNetworkReplyWrapper()
销毁QNetworkReplyWrapper 。如果相关的reply() 仍在运行,就会中止。
[signal] void QNetworkReplyWrapper::done(QtTaskTree::DoneResult result)
该信号在相关QNetworkReply 完成后发出。传入的result 表示完成时是成功还是出错。
另请参阅 reply() 。
[signal] void QNetworkReplyWrapper::downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
该信号从运行中的QNetworkReply 重新发出,经过bytesReceived 和bytesTotal 。
另请参见 reply().
[override virtual protected] bool QNetworkReplyWrapper::event(QEvent *event)
重实现:QObject::event(QEvent *e)。
QNetworkReply *QNetworkReplyWrapper::reply() const
返回指向相关QNetworkReply 的指针。在QNetworkReplyWrapper 启动之前和结束之后,该函数返回 nullptr。在started() 信号发出后至done() 信号发出前,访问QNetworkReply 是安全的。
void QNetworkReplyWrapper::setData(const QByteArray &data)
将data 设置为在start() 上使用。它仅在QNetworkAccessManager::PutOperation,QNetworkAccessManager::PostOperation 或QNetworkAccessManager::CustomOperation 的情况下使用。
void QNetworkReplyWrapper::setNetworkAccessManager(QNetworkAccessManager *manager)
设置manager ,以便在start() 上使用。
void QNetworkReplyWrapper::setOperation(QNetworkAccessManager::Operation operation)
设置operation ,以便在start() 上使用。
void QNetworkReplyWrapper::setRequest(const QNetworkRequest &request)
设置request ,以便在start() 上使用。
void QNetworkReplyWrapper::setVerb(const QByteArray &verb)
设置verb ,以便在start() 上使用。它仅在QNetworkAccessManager::CustomOperation 的情况下使用。
[signal] void QNetworkReplyWrapper::sslErrors(const QList<QSslError> &errors)
该信号从运行中的QNetworkReply 重新发出,传递 sslerrors 列表。
另请参阅 reply() 。
void QNetworkReplyWrapper::start()
[signal] void QNetworkReplyWrapper::started()
该信号在托管QNetworkReply 成功启动后发出。
另请参阅 start() 。
© 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.