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