Sur cette page

QtTaskTree::QTaskInterface Class

class QtTaskTree::QTaskInterface

QTaskInterface est une classe d'aide utilisée lors de l'adaptation de l'interface d'une tâche personnalisée. En savoir plus...

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 de : QObject
Statut : Aperçu technologique

Cette classe est en avant-première technologique et est susceptible d’être modifiée.

Remarque : toutes les fonctions de cette classe sont réentrantes.

Fonctions publiques

void reportDone(QtTaskTree::DoneResult result)

Signaux

void done(QtTaskTree::DoneResult result)

Fonctions protégées réimplémentées

virtual bool event(QEvent *event) override

Description détaillée

Le type d'Adapter personnalisé du modèle QCustomTask<Task, Adapter, Deleter> doit se présenter sous 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>;

Documentation des fonctions membres

[private signal] void QTaskInterface::done(QtTaskTree::DoneResult result)

Ce signal est émis lorsque la fonction ` reportDone()` est appelée, en lui transmettant l'result, qui correspond à l'exécution de la tâche.

Remarque : il s'agit d'un signal privé. Il peut être utilisé dans les connexions de signaux, mais ne peut pas être émis par l'utilisateur.

Voir également reportDone().

[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 un adaptateur personnalisé est terminée, en lui transmettant l'result s relatives à l'exécution de la tâche.

En supposant que le Worker émette un signal finished(bool), l’adaptateur peut se présenter comme 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 également 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.