class QRunnable#

The QRunnable class is the base class for all runnable objects. More

Synopsis#

Methods#

Virtual methods#

Static functions#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description#

The QRunnable class is an interface for representing a task or piece of code that needs to be executed, represented by your reimplementation of the run() function.

You can use QThreadPool to execute your code in a separate thread. QThreadPool deletes the QRunnable automatically if autoDelete() returns true (the default). Use setAutoDelete() to change the auto-deletion flag.

QThreadPool supports executing the same QRunnable more than once by calling tryStart (this) from within the run() function. If autoDelete is enabled the QRunnable will be deleted when the last thread exits the run function. Calling start() multiple times with the same QRunnable when autoDelete is enabled creates a race condition and is not recommended.

See also

QThreadPool

__init__()#

Constructs a QRunnable . Auto-deletion is enabled by default.

autoDelete()#
Return type:

bool

Returns true is auto-deletion is enabled; false otherwise.

If auto-deletion is enabled, QThreadPool will automatically delete this runnable after calling run() ; otherwise, ownership remains with the application programmer.

static create(functionToRun)#
Parameters:

functionToRun – object

Return type:

QRunnable

abstract run()#

Implement this pure virtual function in your subclass.

setAutoDelete(autoDelete)#
Parameters:

autoDelete – bool

Enables auto-deletion if autoDelete is true; otherwise auto-deletion is disabled.

If auto-deletion is enabled, QThreadPool will automatically delete this runnable after calling run() ; otherwise, ownership remains with the application programmer.

Note that this flag must be set before calling start() . Calling this function after start() results in undefined behavior.