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进行配置。
可通过socket() 方法访问被封装的QTcpSocket 。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.