pyqt5 QThread.start()的用法
时间: 2024-06-08 14:06:02 浏览: 191
PyQt5Thread.py
`QThread` 是 Qt 提供的线程类,`start()` 方法用于启动线程。该方法会自动调用 `run()` 方法,在新线程中执行 `run()` 方法里的代码。
在 PyQt5 中,一般继承 `QThread` 类并重写 `run()` 方法来实现自定义的线程逻辑。在重写完 `run()` 方法后,可以通过调用 `start()` 方法来启动线程。
下面是一个简单的示例代码:
```python
from PyQt5.QtCore import QThread
class MyThread(QThread):
def __init__(self):
super().__init__()
def run(self):
# 这里写线程逻辑
pass
# 创建线程对象
my_thread = MyThread()
# 启动线程
my_thread.start()
```
在上面的示例中,`MyThread` 继承了 `QThread` 类,并重写了 `run()` 方法。在创建 `MyThread` 对象后,可以通过调用 `start()` 方法来启动线程,从而执行 `run()` 方法里的逻辑。
需要注意的是,在 `run()` 方法里不要直接操作 GUI 界面,因为 PyQt5 是单线程模型,如果在子线程中直接操作 GUI 界面,可能会导致程序崩溃。如果需要在子线程中操作 GUI 界面,可以使用信号与槽机制来实现。
阅读全文