PyQt/多线程/README.md
2018-11-25 22:21:25 +08:00

808 B
Raw Blame History

多线程

PyQt多线程的简单使用例子

1、继承QThread

2、moveToThread

3、线程挂起恢复

注意,这里只是简单演示,在应用这些代码时要小心

  1. 这里使用windows的api实现主要用到SuspendThreadResumeThread函数
  2. 利用ctypes.windll.kernel32.OpenThread(win32con.PROCESS_ALL_ACCESS, False, int(QThread.currentThreadId()))
  3. 得到线程的句柄,然后就可以通过上面的两个函数对其进行挂起与恢复

ctypes.windll.kernel32.TerminateThread终止线程,不推荐

截图

4、线程休眠唤醒

使用QWaitCondition的wait和wakeAll方法

截图