Как написать таймер на PyQt5 c использованием LCD Number?

Имеется код консольного таймера, но его нужно переписать под окно с LCD Number

import sys
from PyQt5 import QtCore
def timerEvent():
    global time
    time = time.addSecs(1)
    print(time.toString("hh:mm:ss"))


app = QtCore.QCoreApplication(sys.argv)

timer = QtCore.QTimer()
time = QtCore.QTime(0, 0, 0)

timer.timeout.connect(timerEvent)
timer.start(1000)

sys.exit(app.exec_())

Ответы (1 шт):

Автор решения: S. Nick

Как вариант:

import sys
from PyQt5 import QtCore, QtWidgets


class MyGui(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()

        self.lcdTime = QtWidgets.QLCDNumber(self)
        self.lcdTime.setSegmentStyle(QtWidgets.QLCDNumber.Filled)  
        self.lcdTime.setDigitCount(8)    

        self.time = QtCore.QTime(0, 0, 0)
        
        vbox = QtWidgets.QVBoxLayout(self)
        vbox.addWidget(self.lcdTime)

        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.timerEvent)
        self.timer.start(1000)

    def timerEvent(self):
#        global time
        self.time = self.time.addSecs(1)
#        print(self.time.toString("hh:mm:ss"))
        self.lcdTime.display(self.time.toString("hh:mm:ss"))


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    w = MyGui()
    w.resize(300, 120)
    w.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка