Sur cette page

QRunnable Class

La classe QRunnable est la classe de base de tous les objets exécutables. En savoir plus...

En-tête : #include <QRunnable>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core

Fonctions publiques

QRunnable()
virtual ~QRunnable()
bool autoDelete() const
virtual void run() = 0
void setAutoDelete(bool autoDelete)

Membres publics statiques

QRunnable *create(Callable &&callableToRun)

Description détaillée

La classe QRunnable est une interface permettant de représenter une tâche ou un morceau de code devant être exécuté, représenté par votre réimplémentation de la fonction run().

Vous pouvez utiliser ` QThreadPool ` pour exécuter votre code dans un thread distinct. ` QThreadPool ` supprime automatiquement l'objet `QRunnable` si ` autoDelete()` renvoie ` true ` (valeur par défaut). Utilisez ` setAutoDelete()` pour modifier l'indicateur de suppression automatique.

QThreadPool Permet d’exécuter plusieurs fois le même QRunnable en appelant QThreadPool::tryStart(this) depuis la fonction run(). Si autoDelete est activé, le QRunnable sera supprimé lorsque le dernier thread quittera la fonction run. Appeler QThreadPool::start() plusieurs fois avec le même QRunnable lorsque autoDelete est activé crée une condition de concurrence et n’est pas recommandé.

Voir également QThreadPool.

Documentation sur les fonctions membres

[constexpr noexcept default] QRunnable::QRunnable()

Crée un objet QRunnable. La suppression automatique est activée par défaut.

Voir également autoDelete() et setAutoDelete().

[virtual noexcept] QRunnable::~QRunnable()

QRunnable destructeur virtuel.

bool QRunnable::autoDelete() const

Renvoie ` true ` si la suppression automatique est activée ; `false` dans le cas contraire.

Si la suppression automatique est activée, QThreadPool supprimera automatiquement cet élément exécutable après l'appel de run(); sinon, la responsabilité en incombe au développeur de l'application.

Voir également setAutoDelete() et QThreadPool.

[static] template <typename Callable> requires if_callable<Callable> QRunnable *QRunnable::create(Callable &&callableToRun)

Crée un objet ` QRunnable ` qui appelle la méthode ` callableToRun ` dans ` run()`.

La suppression automatique est activée par défaut.

Remarque : dans les versions de Qt antérieures à la version 6.6, cette méthode n'acceptait que les fonctions copiables.

Contraintes

Ne participe à la résolution des surcharges que si ` Callable ` est une fonction ou un objet fonction pouvant être appelé sans argument.

Voir également run() et autoDelete().

[pure virtual] void QRunnable::run()

Implémentez cette fonction purement virtuelle dans votre sous-classe.

void QRunnable::setAutoDelete(bool autoDelete)

Active la suppression automatique si la valeur de autoDelete est « true » ; dans le cas contraire, la suppression automatique est désactivée.

Si la suppression automatique est activée, QThreadPool supprimera automatiquement cet élément exécutable après l’appel de run(); sinon, la responsabilité en incombe au développeur de l’application.

Notez que cet indicateur doit être défini avant d’appeler QThreadPool::start(). L’appel de cette fonction après QThreadPool::start() entraîne un comportement indéfini.

Voir également autoDelete() et QThreadPool.

© 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.