O girador de carregamento PyQt5 para quando solicitado
Estou usando o QtWaitingSpinner encontrado aqui:https://github.com/snowwlex/QtWaitingSpinner. Você pode criar e iniciar um controle giratório da seguinte maneira:spinner = QtWaitingSpinner(self); spinner.start()
. Infelizmente, quando tento fazer uma solicitação POST da minha GUI, o botão giratório pára até que uma resposta seja retornada. Consequentemente, não vejo o botão giratório, ou, se eu iniciar prematuramente, ele pára de girar enquanto aguarda a resposta. Acho que vou ter que usar algum tipo de método assíncrono como QThread ou asyncio, mas não está claro qual é a melhor maneira de contornar isso. Se alguém puder me mostrar a melhor maneira de lidar com isso, ficaria grato. Aqui está uma versão simplificada do que estou fazendo:
class Obj(QDialog):
# some button calls this function when pressed
def submit(self):
#start spinner
spinner = QtWaitingSpinner(self)
spinner.start()
# post some data to some url, spinner should spin
r = requests.post('some_url.com', json=some_data)
# stop spinner
spinner.stop()