欢迎访问宙启技术站
智能推送

PyQt5.QtCore.QThread__init__()方法的参数详解

发布时间:2023-12-15 23:15:07

PyQt5.QtCore.QThread类是一个多线程类,用于在后台执行耗时的操作而不阻塞主线程。下面是QThread类的初始化方法的参数详解及使用例子。

1. parent:

- 类型:QObject对象或None

- 默认值:None

- 作用:指定线程对象的父对象,用于管理线程的生命周期。当线程对象的父对象被销毁时,线程对象也会自动被销毁。

例子:

class MyThread(QThread):
    def __init__(self):
        super().__init__(parent=self)

thread = MyThread()

2. flags:

- 类型:QThread.ThreadPriority枚举值

- 默认值:QThread.InheritPriority

- 作用:指定线程对象的优先级。可选值包括:

- QThread.IdlePriority: 空闲优先级,最低优先级

- QThread.LowestPriority: 最低优先级

- QThread.LowPriority: 低优先级

- QThread.NormalPriority: 正常优先级,即默认优先级

- QThread.HighPriority: 高优先级

- QThread.HighestPriority: 最高优先级

- QThread.TimeCriticalPriority: 时间关键优先级

- QThread.InheritPriority: 继承父对象的优先级,默认值

例子:

class MyThread(QThread):
    def __init__(self):
        super().__init__(flags=QThread.LowPriority)

thread = MyThread()

3. parentWidget:

- 类型:QWidget对象或None

- 默认值:None

- 作用:指定线程对象的父窗口,用于在子线程中创建窗口部件。可以将线程对象的子窗口直接附加到父窗口上。

例子:

class MyThread(QThread):
    def __init__(self, parentWidget=None):
        super().__init__(parentWidget=parentWidget)

app = QApplication([])
window = QWidget()
thread = MyThread(parentWidget=window)

4. name:

- 类型:str

- 默认值:""

- 作用:指定线程对象的名称,方便在调试时识别不同的线程对象。

例子:

class MyThread(QThread):
    def __init__(self, name):
        super().__init__(name=name)

thread = MyThread(name="MyThread")

上述是QThread类__init__()方法的参数详解及使用例子,使用这些参数可以根据需求来创建和管理多线程对象。