pyqt5的QThread
时间: 2023-09-09 09:13:52 浏览: 110
引用\[1\]:在PyQt5的GUI程序中,只存在一个主线程。如果在主线程中进行非常耗时的操作,会导致GUI界面卡死或者假死,影响程序的运行。为了解决这个问题,可以使用多线程来进行后台的耗时操作。\[2\]在多线程示例中,可以看到使用QThread来创建线程,并重写run方法来定义线程的工作内容。然后通过start方法来启动线程,并使用sleep方法来强制当前线程睡眠一定的时间。还可以使用started和finished信号来在开始执行run函数之前和完成run函数时发射信号。\[3\]另外一个示例中,使用了自定义的信号sinout来在run函数执行完成后向UI界面发送指令,并让UI界面执行相应的内容。
所以,QThread是PyQt5中用于创建多线程的类。通过继承QThread类并重写run方法,可以定义线程的工作内容。然后使用start方法来启动线程,并可以使用信号来与UI界面进行通信。这样可以避免在主线程中进行耗时操作导致GUI界面卡死的问题。
#### 引用[.reference_title]
- *1* *2* [PyQt5第八部分-多线程-QThread](https://blog.csdn.net/u011079613/article/details/109578443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Pyqt5:使用多线程QThread](https://blog.csdn.net/qq_48764574/article/details/123909271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文