QtTaskTree::QTaskInterface Class
class QtTaskTree::QTaskInterfaceQTaskInterface est une classe d'aide utilisée pour adapter l'interface d'une tâche personnalisée. Plus d'informations...
| En-tête : | #include <qtasktree.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS TaskTree)target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake : | QT += tasktree |
| Depuis : | Qt 6.11 |
| Hérite : | QObject |
Note : Toutes les fonctions de cette classe sont réentrantes.
Fonctions publiques
| void | reportDone(QtTaskTree::DoneResult result) |
Fonctions protégées réimplémentées
| virtual bool | event(QEvent *event) override |
Description détaillée
Le type personnalisé Adapter du modèle QCustomTask<Task, Adapter, Deleter> devrait avoir la forme suivante, lors de l'adaptation de la tâche Worker :
class WorkerTaskAdapter { public: void operator()(Worker *task, QTaskInterface *iface) { ... } }; using WorkerTask = QCustomTask<Worker, WorkerTaskAdapter>;
Fonction membre Documentation
[override virtual protected] bool QTaskInterface::event(QEvent *event)
Réimplémente : QObject::event(QEvent *e).
void QTaskInterface::reportDone(QtTaskTree::DoneResult result)
Cette méthode doit être appelée lorsque la tâche adaptée via l'adaptateur personnalisé est terminée, en transmettant l'adresse result de l'exécution de la tâche.
En supposant que le Worker émette un signal finished(bool), l'adaptateur peut ressembler à ce qui suit :
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>;
Voir aussi 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.