Я использовал следующий скрипт Python https://github.com/fbjorn/QtWaitingSpinner, чтобы создать вращающийся круг в моем PyQt5 GUI.
def initSpinner(self):
self.spinner = spinner.WaitingSpinner(self)
# Vorerst über show() hide() gelöst
self.spinner.move(530, 30)
self.spinner.start()
self.spinner.hide()
Моя идея заключается в том, чтобы во время работы потока отображался вращающийся круг в графическом интерфейсе. Теперь проблема в том, что когда я вызываю метод startThread
, мой графический интерфейс останавливается до тех пор, пока не завершится старт потока с method
.
def startThread(self, method):
print(enumerate())
if len(enumerate()) <= 20:
t = Thread(target= method, daemon= True)
t.start()
sp = Thread(target= self.spinnerThread(t), daemon= True)
sp.start()
else:
pass
def spinnerThread(self, thread):
self.spinner.show()
while thread.isAlive():
pass
self.spinner.hide()
Если я опередил sp
, и я только запустил t
Thread, мой графический интерфейс не заморожен.