QRunnable Class
La clase QRunnable es la clase base para todos los objetos ejecutables. Más...
| Cabecera: | #include <QRunnable> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Lista de todos los miembros, incluyendo los heredados
- QRunnable es parte de Clases de Threading.
Funciones Públicas
| QRunnable() | |
| virtual | ~QRunnable() |
| bool | autoDelete() const |
| virtual void | run() = 0 |
| void | setAutoDelete(bool autoDelete) |
Miembros Públicos Estáticos
| QRunnable * | create(Callable &&callableToRun) |
Descripción Detallada
La clase QRunnable es una interfaz para representar una tarea o trozo de código que necesita ser ejecutado, representado por su reimplementación de la función run().
Puedes utilizar QThreadPool para ejecutar tu código en un hilo separado. QThreadPool borra el QRunnable automáticamente si autoDelete() devuelve true (por defecto). Utilice setAutoDelete() para cambiar la bandera de auto-borrado.
QThreadPool permite ejecutar el mismo QRunnable más de una vez llamando a QThreadPool::tryStart(this) desde dentro de la función run(). Si autoDelete está habilitado el QRunnable será borrado cuando el último thread salga de la función de ejecución. Llamar a QThreadPool::start() varias veces con el mismo QRunnable cuando autoDelete está habilitado crea una condición de carrera y no es recomendable.
Véase también QThreadPool.
Documentación de las funciones miembro
[constexpr noexcept] QRunnable::QRunnable()
Construye un QRunnable. La eliminación automática está activada por defecto.
Véase también autoDelete() y setAutoDelete().
[virtual noexcept] QRunnable::~QRunnable()
QRunnable destructor virtual.
bool QRunnable::autoDelete() const
Devuelve true si el borrado automático está habilitado; false en caso contrario.
Si el borrado automático está habilitado, QThreadPool borrará automáticamente este ejecutable después de llamar a run(); en caso contrario, la propiedad seguirá siendo del programador de la aplicación.
Véase también setAutoDelete() y QThreadPool.
[static] template <typename Callable, QRunnable::if_callable<Callable> = true> QRunnable *QRunnable::create(Callable &&callableToRun)
Crea un QRunnable que llama a callableToRun en run().
La eliminación automática está activada por defecto.
Nota: En versiones de Qt anteriores a la 6.6, este método sólo tomaba funciones copiables.
Restricciones
Participa en la resolución de sobrecargas sólo si Callable es una función u objeto de función que puede ser llamada con cero argumentos.
Véase también run() y autoDelete().
[pure virtual] void QRunnable::run()
Implementa esta función virtual pura en tu subclase.
void QRunnable::setAutoDelete(bool autoDelete)
Habilita el borrado automático si autoDelete es verdadero; en caso contrario, el borrado automático está deshabilitado.
Si la eliminación automática está activada, QThreadPool eliminará automáticamente este ejecutable después de llamar a run(); de lo contrario, la propiedad seguirá siendo del programador de la aplicación.
Tenga en cuenta que este indicador debe activarse antes de llamar a QThreadPool::start(). Llamar a esta función después de QThreadPool::start() provoca un comportamiento indefinido.
Véase también autoDelete() y 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.