- class QRunnable#
-
概要#
方法#
def
__init__()def
autoDelete()def
setAutoDelete()
虚拟方法#
def
run()
静态函数#
def
create()
注意
本文档可能包含从C++自动翻译到Python的代码段。我们始终欢迎对代码段进行翻译的贡献。如果您发现翻译问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建票证来告诉我们。
详细说明#
QRunnable类是一个表示需要执行的任务或代码片段的接口,该接口由您对run()函数的重新实现表示。您可以使用
QThreadPool在单独的线程中执行您的代码。QThreadPool在autoDelete()返回true(默认)时会自动删除QRunnable。使用setAutoDelete()方法可以更改自动删除标志。QThreadPool支持通过在run()函数内调用tryStart(此方法)来多次执行相同的QRunnable。如果启用了autoDelete,则QRunnable将在最后一个线程退出run()函数时被删除。当启用了autoDelete时,多次使用相同的QRunnable调用start()将导致竞争条件,不建议这样做。请参阅
- __init__()#
构造一个
QRunnable对象。自动删除默认启用。请参阅
autoDeletesetAutoDelete- autoDelete()#
- 返回类型:
布尔值
如果自动删除启用,则返回
true;否则返回false。如果启用自动删除,则在调用
run()之后,QThreadPool将自动删除此可运行的;否则,所有权仍属于应用程序程序员。- abstract run()#
在您的子类中实现这个纯虚函数。
- setAutoDelete(autoDelete)#
- 参数:
autoDelete – 布尔值
当
autoDelete为真时启用自动删除;否则禁用自动删除。如果启用自动删除,则在调用
run()之后,QThreadPool将自动删除此可运行的;否则,所有权仍属于应用程序程序员。注意,必须在调用
start()之前设置此标志。在调用start()之后调用此函数会导致未定义的行为。