QtTaskTree::QTaskInterface Class
class QtTaskTree::QTaskInterfaceQTaskInterface ist eine Hilfsklasse, die bei der Anpassung der Schnittstelle von benutzerdefinierten Aufgaben verwendet wird. Mehr...
| Kopfzeile: | #include <qtasktree.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree)target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| Seit: | Qt 6.11 |
| Vererbt: | QObject |
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Öffentliche Funktionen
| void | reportDone(QtTaskTree::DoneResult result) |
Reimplementierte geschützte Funktionen
| virtual bool | event(QEvent *event) override |
Detaillierte Beschreibung
Der benutzerdefinierte Typ Adapter der Vorlage QCustomTask<Task, Adapter, Deleter> sollte bei der Anpassung von Worker task die folgende Form haben:
class WorkerTaskAdapter { public: void operator()(Worker *task, QTaskInterface *iface) { ... } }; using WorkerTask = QCustomTask<Worker, WorkerTaskAdapter>;
Member Function Documentation
[override virtual protected] bool QTaskInterface::event(QEvent *event)
Reimplements: QObject::event(QEvent *e).
void QTaskInterface::reportDone(QtTaskTree::DoneResult result)
Diese Methode sollte aufgerufen werden, wenn die Aufgabe, die über den benutzerdefinierten Adapter angepasst wurde, beendet ist, wobei die result der Aufgabenausführung übergeben wird.
Angenommen der Worker gibt ein finished(bool) Signal aus, kann der Adapter wie folgt aussehen:
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>;
Siehe auch 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.