-乾杯- 2022-05-23 07:33 采纳率: 66.7%
浏览 184
已结题

pyqt如何用多线程解决卡顿问题

pyqt如何用多线程解决卡顿问题
  1. from PyQt5.QtWidgets import *
  2. from function import bigFunction
  3. from multiprocessing import Process
  4. '''
  5. pyqt如何用多线程解决卡顿问题
  6. 我尝试运行如下代码,但是 bigFunction 未能成功运行
  7. 需要使用多进程解决
  8. 一个很初级的问题,我该如何更改
  9. '''
  10. def do():
  11. p = Process(target=bigFunction)
  12. # bigFunction 是一个耗时且会导致程序未响应的方法
  13. p.start()
  14. class setElement(QWidget):
  15. def func(self):
  16. print('click')
  17. def __init__(self):
  18. super(QWidget, self).__init__()
  19. self.setStyleSheet('')
  20. self.button = QPushButton(self)
  21. self.button.setText('click')
  22. self.button.setGeometry(100,50,100,30)
  23. self.button.clicked.connect(self.func)
  24. self.button2 = QPushButton(self)
  25. self.button2.setText('someText')
  26. self.button2.setGeometry(100,230,100,30)
  27. self.button2.clicked.connect(do)
  28. self.show()
  29. APP = QApplication([])
  30. e =setElement()
  31. APP.exec_()

展开全部

  • 写回答

3条回答 默认 最新

  • 关注

    多线程你应该使用qthread。你使用Process只是不会让ui界面卡住。将耗时的函数放到qthread里去处理。ui始终不要被阻塞

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 已采纳回答 5月24日
  • 创建了问题 5月23日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部