- 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
对象。自动删除默认启用。请参阅
autoDelete
setAutoDelete
- autoDelete()#
- 返回类型:
布尔值
如果自动删除启用,则返回
true
;否则返回false。如果启用自动删除,则在调用
run()
之后,QThreadPool
将自动删除此可运行的;否则,所有权仍属于应用程序程序员。- abstract run()#
在您的子类中实现这个纯虚函数。
- setAutoDelete(autoDelete)#
- 参数:
autoDelete – 布尔值
当
autoDelete
为真时启用自动删除;否则禁用自动删除。如果启用自动删除,则在调用
run()
之后,QThreadPool
将自动删除此可运行的;否则,所有权仍属于应用程序程序员。注意,必须在调用
start()
之前设置此标志。在调用start()
之后调用此函数会导致未定义的行为。