Привет всем, я пытаюсь сделать проект классификации жанров PyQt5 gui для музыки c. Но когда функция классификации запускается, все gui замирает, пока не будет выполнена классификация. Мой вопрос заключается в том, как реализовать многопоточность или QThread, чтобы он не зависал. Вот код:
#imports here
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
#gui here
def retranslateUi(self, MainWindow):
self.button1.clicked.connect(self.openFile)
self.button2.clicked.connect(self.main) #calling the function with the long process
self.text.setReadOnly(True)
def openFile(self):
#opening files here, path is passed to main function
def main(self):
#long process here that freezes the gui
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())