pyqt6 qthread 函数传参
时间: 2024-04-12 18:25:57 浏览: 252
函数传参分析
在PyQt6中,QThread是一个用于在后台执行耗时任务的类。它可以与其他类一起使用,以实现多线程编程。关于QThread函数传参的介绍如下:
1. 通过构造函数传参:可以在创建QThread对象时,通过构造函数传递参数。例如:
```python
class MyThread(QThread):
def __init__(self, param):
super().__init__()
self.param = param
def run(self):
# 在这里执行耗时任务,可以使用self.param访问传递的参数
pass
# 创建线程对象并传递参数
thread = MyThread("参数值")
```
2. 通过成员函数传参:可以在创建QThread对象后,通过成员函数设置参数。例如:
```python
class MyThread(QThread):
def __init__(self):
super().__init__()
self.param = None
def set_param(self, param):
self.param = param
def run(self):
# 在这里执行耗时任务,可以使用self.param访问传递的参数
pass
# 创建线程对象并设置参数
thread = MyThread()
thread.set_param("参数值")
```
3. 通过信号槽传参:可以使用信号槽机制,在主线程和子线程之间传递参数。例如:
```python
class MyThread(QThread):
param_changed = pyqtSignal(str)
def __init__(self):
super().__init__()
self.param = None
def set_param(self, param):
self.param = param
self.param_changed.emit(param)
def run(self):
# 在这里执行耗时任务,可以使用self.param访问传递的参数
pass
# 创建线程对象并设置参数
thread = MyThread()
thread.param_changed.connect(thread.set_param)
thread.set_param("参数值")
```
阅读全文