Apr-17-2020, 04:41 AM
Thanks for your advise. Made some changes (see below). Start Button still does not work.
import sys from PyQt5.QtCore import Qt, QTimer from PyQt5.QtWidgets import QWidget, QLabel, QPushButton, QGridLayout, QSizePolicy, QApplication class Stopwatch(QWidget): def __init__(self, *args, **kwargs): self.my_counter = 0 self.my_counter1 = 0 self.my_counter2 = 0 QWidget.__init__(self, *args, **kwargs) self.label = QLabel(self) self.label1 = QLabel(self) self.label2 = QLabel(self) self.label.setText("00") self.label.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.label.setAlignment(Qt.AlignCenter) self.label.setStyleSheet("QLabel {background-color: white; font-size: 30pt;}") self.label1 = QLabel(self) self.label1.setAlignment(Qt.AlignCenter) self.label1.setStyleSheet("QLabel {background-color: white; font-size: 30pt;}") self.label1.setText("00.") self.label2 = QLabel(self) self.label2.setAlignment(Qt.AlignCenter) self.label2.setStyleSheet("QLabel {background-color: pink; font-size: 30pt;}") self.label2.setText("00:") self.start_button = QPushButton(self) self.start_button.setStyleSheet("QPushButton {background-color: yellow; font-size: 15pt;}") self.start_button.setText("Start") self.layout = QGridLayout(self) self.layout.addWidget(self.label, 0, 4) self.layout.addWidget(self.label1, 0, 3) self.layout.addWidget(self.label2, 0, 2) self.layout.addWidget(self.start_button, 3, 3) self.setLayout(self.layout) self.show() def update_time(self): self.label.setText("%d" % self.my_counter) self.my_counter += 1 if self.my_counter == 100: self.my_counter = 0 self.my_counter1 += 1 self.label1.setText("%d" % self.my_counter1 + ".") if self.my_counter1 == 60: self.label1.setText("00.") self.my_counter1 = 0 self.my_counter2 += 1 self.label2.setText("0"+"%d" % self.my_counter2 + ":") elif self.my_counter1 < 10: self.label1.setText("0" + "%d" % self.my_counter1 + ".") elif self.my_counter < 10: self.label.setText("0" + "%d" % self.my_counter) def start_timer(self): self.timer = QTimer() self.timer.timeout.connect(self.update_time) self.timer.start(10) def start_button(self): self.start_button.click.connect(self.start_timer) app = QApplication(sys.argv) win = Stopwatch() sys.exit(app.exec_())