QtTaskTree::QTcpSocketWrapper Class
class QtTaskTree::QTcpSocketWrapperQTcpSocket 的包装。更多
| 头文件: | #include <qtcpsocketwrappertask.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree)target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| 自 | Qt 6.11 |
| 继承: | QObject |
注意:该类中的所有函数都是可重入的。
公共函数
| QTcpSocketWrapper(QObject *parent) | |
| virtual | ~QTcpSocketWrapper() override |
| void | setAddress(const QHostAddress &address) |
| void | setData(const QByteArray &data) |
| void | setPort(quint16 port) |
| QTcpSocket * | socket() const |
| void | start() |
信号
重实现保护函数
| virtual bool | event(QEvent *event) override |
详细说明
QTcpSocketWrapper 是QTcpSocket 的便捷包装器。
在调用start() 之前,使用setAddress(),setPort() 和setData() 配置 QTcpSocketWrapper。
封装后的QTcpSocket 可通过socket() 方法访问。QTcpSocket 由start() 方法动态创建,并由 QTcpSocketWrapper 管理。它在发出done() 信号后被删除。
成员函数文档
[explicit] QTcpSocketWrapper::QTcpSocketWrapper(QObject *parent)
使用给定的parent 创建 QTcpSocketWrapper。
[override virtual noexcept] QTcpSocketWrapper::~QTcpSocketWrapper()
销毁QTcpSocketWrapper 。如果相关的socket() 仍在运行,就会中止。
[signal] void QTcpSocketWrapper::done(QtTaskTree::DoneResult result)
该信号在相关QTcpSocket 完成后发出。传入的result 表示完成时是成功还是出错。
另请参阅 socket() 。
[override virtual protected] bool QTcpSocketWrapper::event(QEvent *event)
重实现:QObject::event(QEvent *e)。
void QTcpSocketWrapper::setAddress(const QHostAddress &address)
设置address ,以便在start() 上使用。
void QTcpSocketWrapper::setData(const QByteArray &data)
设置在start() 上使用的data 。如果不为空,data 会在连接建立后自动写入套接字。
void QTcpSocketWrapper::setPort(quint16 port)
设置port ,以便在start() 上使用。
QTcpSocket *QTcpSocketWrapper::socket() const
返回指向相关QTcpSocket 的指针。在QTcpSocketWrapper 启动之前和结束之后,该函数返回nullptr 。在started() 信号发出后至done() 信号发出前,访问QTcpSocket 是安全的。
void QTcpSocketWrapper::start()
[signal] void QTcpSocketWrapper::started()
该信号在托管QTcpSocket 连接后发出。
另请参阅 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.