QtTaskTree::QTaskInterface Class
class QtTaskTree::QTaskInterfaceQTaskInterface 是一个用于适配自定义任务接口的辅助类。更多内容...
| 头文件: | #include <qtasktree.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree) target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| 自: | Qt 6.11 |
| 继承自: | QObject |
| 状态: | 技术预览 |
该类处于技术预览阶段,内容可能会有变动。
注意:该类中的所有函数均为可重入函数。
公共函数
| void | reportDone(QtTaskTree::DoneResult result) |
信号
| void | done(QtTaskTree::DoneResult result) |
重新实现的受保护函数
| virtual bool | event(QEvent *event) override |
详细说明
在适配 Worker 任务时,QCustomTask<Task 、Adapter 、Deleter> 模板中的自定义Adapter 类型应采用以下形式:
class WorkerTaskAdapter
{
public:
void operator()(Worker *task, QTaskInterface *iface) { ... }
};
using WorkerTask = QCustomTask<Worker, WorkerTaskAdapter>;成员函数文档
[private signal] void QTaskInterface::done(QtTaskTree::DoneResult result)
当调用 `reportDone()` 并传入任务执行的 `result ` 时,会发出此信号。
注意:这是一个 私有信号。它可以在信号连接中使用,但用户无法发出该信号。
另请参阅 reportDone()。
[override virtual protected] bool QTaskInterface::event(QEvent *event)
重写了:QObject::event(QEvent *e)。
void QTaskInterface::reportDone(QtTaskTree::DoneResult result)
当通过自定义适配器适配的任务完成时,应调用此方法,并传入任务执行的result 。
假设 Worker 会发出一个 finished(bool) 信号,适配器可能如下所示:
class WorkerTaskAdapter
{
public:
void operator()(Worker *task, QTaskInterface *iface) {
connect(task, &Worker::finished, iface, [iface](bool success) {
iface->reportDone(toDoneResult(success));
});
task->execute();
}
};
using WorkerTask = QCustomTask<Worker, WorkerTaskAdapter>;另请参阅 QCustomTask 。
© 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.