GUI编程常见问题
SeniorZ-PyQt5+socket编程界面卡住未响应
现象
在使用Qt Desinger设计gui界面后,在python中运行界面使用按钮时,界面出现假卡死。  
原因
gui界面运行后会作为主线程,若在主线程中进行耗时操作,就会导致界面出现假死的情况
解决办法
使用多线程,将耗时操作放在其他线程进行,主线程就不会受到影响
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
   | import threading
  class MyMainForm(QMainWindow, Ui_MainWindow):     def __init__(self, parent=None):     super(MyMainForm, self).__init__(parent)     self.setupUi(self)
           self.th = None          self.musicSpider_Button.clicked.connect(self.musicSpider)          def musicSpider(self):         self.th = threading.Thread(target=self.ms)                  self.th.setDaemon(True)                  self.th.start()
      def ms(self):         musicSpider(self.user_idEdit.text())
   |