class QRunnable#

QRunnable类是所有可运行对象的基类。 更多

概要#

方法#

虚拟方法#

静态函数#

注意

本文档可能包含从C++自动翻译到Python的代码段。我们始终欢迎对代码段进行翻译的贡献。如果您发现翻译问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建票证来告诉我们。

详细说明#

QRunnable类是一个表示需要执行的任务或代码片段的接口,该接口由您对run()函数的重新实现表示。

您可以使用QThreadPool在单独的线程中执行您的代码。QThreadPoolautoDelete()返回true(默认)时会自动删除QRunnable。使用setAutoDelete()方法可以更改自动删除标志。

QThreadPool支持通过在run()函数内调用tryStart(此方法)来多次执行相同的QRunnable。如果启用了autoDelete,则QRunnable将在最后一个线程退出run()函数时被删除。当启用了autoDelete时,多次使用相同的QRunnable调用start()将导致竞争条件,不建议这样做。

请参阅

QThreadPool

__init__()#

构造一个QRunnable对象。自动删除默认启用。

请参阅

autoDelete setAutoDelete

autoDelete()#
返回类型:

布尔值

如果自动删除启用,则返回true;否则返回false。

如果启用自动删除,则在调用run()之后,QThreadPool将自动删除此可运行的;否则,所有权仍属于应用程序程序员。

static create(functionToRun)#
参数:

functionToRun – 对象

返回类型:

QRunnable

abstract run()#

在您的子类中实现这个纯虚函数。

setAutoDelete(autoDelete)#
参数:

autoDelete – 布尔值

autoDelete 为真时启用自动删除;否则禁用自动删除。

如果启用自动删除,则在调用run()之后,QThreadPool将自动删除此可运行的;否则,所有权仍属于应用程序程序员。

注意,必须在调用 start() 之前设置此标志。在调用 start() 之后调用此函数会导致未定义的行为。