Я пытаюсь использовать QTimer в QThread, но он не вызывает функцию, которую мне нужно вызвать. Я читал что-то о сборке мусора и о том, что таймер выбрасывается до того, как его можно будет использовать (насколько я понимаю). Я пробовал множество способов, которые нашел в других примерах кода, но я что-то неправильно понимаю, поскольку эти примеры не помогли.
Метод run() запускается кнопкой из класса Main_Window. Перенос экземпляра таймера в метод run() не помог. В чем проблема?
#Main_Window class is here
class TheThread(QThread):
def __init__(self, Main_Window):
QThread.__init__(self)
#some code above
self.timeTaken = 0
self.myTimer = QTimer()
self.myTimer.timeout.connect(self.track_time)
def track_time(self):
#Not being called
self.timeTaken += 0.1
def run(self):
#some code above
self.myTimer.start(1000)
#code in a while loop below
if __name__ == "__main__":
app = QApplication(sys.argv)
main = Main_Window()
sys.exit(app.exec_())