I wanna make routine timer in Python. and I use also PyQt5
In summary,
first_step LED1 is on 10 minute
second_step LED1 is off, LED2 is on 5 minute
third_step LED2 is off, LED3 is on 3 minute
and return in first_step.
this routine is do while main Timer is Run.
I using threading.Timer and schedule. Anyone know better idea, please help me.
Here is my code for timer
ort sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.uic import loadUi
import time
import threading
import schedule
class MainUI(QMainWindow):
def __init__(self):
super(MainUI, self).__init__()
loadUi('untitled.ui',self)
self.setWindowTitle('test')
self.set_hour = 2
self.set_minute = 1
self.set_second = 3
self.btn_start.clicked.connect(self.timer)
# self.btn_stop.clicked.connect()
def timer(self):
d_time = str(self.set_hour)+':'+str(self.set_minute)+':'+str(self.set_second)
if self.set_minute >= 0:
if self.set_second >= 1:
self.lcd_time.display(d_time)
self.set_second -= 1
elif self.set_minute == 0 and self.set_second == 0 :
self.set_hour -= 1
self.set_minute += 59
self.set_second += 59
self.lcd_time.display(d_time)
elif self.set_hour == 0 and self.set_minute == 0 and self.set_second == 0:
self.timer_stop()
else:
self.set_minute -= 1
self.set_second += 59
self.lcd_time.display(d_time)
timer = threading.Timer(1,self.timer)
timer.start()
def timer_stop(self):
self.timer.cancel()
app = QApplication(sys.argv)
widget = MainUI()
widget.show()
app.exec_()