PyQt5.QtCore.QThread__init__()方法的参数详解
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__()方法的参数详解及使用例子,使用这些参数可以根据需求来创建和管理多线程对象。
