import sys from PyQt5.QtWidgets import (QGridLayout,QVBoxLayout,QHBoxLayout,QWidget, QPushButton, QFrame, QApplication,QLabel) from PyQt5.QtGui import QColor from PyQt5 import QtCore from PyQt5 import * class RamenTimer(QWidget): def __init__(self): super().__init__() self.count =18000 self.initUI() def initUI(self): self.timer = QtCore.QTimer() self.timer.setInterval(10) self.timer.timeout.connect(self.do_countdown) self.lcdNumber = QtWidgets.QLCDNumber(self) self.lcdNumber.setDigitCount(6) self.lcdNumber.setAutoFillBackground(False) #self.lcdNumber.move(300,100) # 色の初期設定(黒にする) """ self.label1 = QLabel("tut",self) self.col = QColor(0, 0, 0) self.label1.move(100,50) """ # トグルボタンの作成 self.start = QPushButton('START', self) #self.start.setCheckable(True) #self.start.move(100, 10) # クリックされたらsetColor関数の呼び出し #redb.clicked[bool].connect(self.setColor) self.start.clicked[bool].connect(self.start_countdown) self.reset = QPushButton('RESET', self) self.reset.clicked[bool].connect(self.reset_countdown) self.stop = QPushButton('STOP', self) #self.stop.setCheckable(True) #self.stop.move(100, 110) self.stop.clicked[bool].connect(self.stop_countdouwn) self.quit = QPushButton('QUIT', self) self.quit.clicked[bool].connect(quit) self.layout = QHBoxLayout self.layout2 = QVBoxLayout() self.layout3 = QGridLayout() self.layout3.addWidget(self.start,0,0,1,1) self.layout3.addWidget(self.stop,0,1,1,1) self.layout3.addWidget(self.reset,1,0,1,1) self.layout3.addWidget(self.quit,1,1,1,1) #self.layout2.addWidget(self.lcdNumber) """ self.square = QFrame(self) self.square.setGeometry(150, 20, 100, 100) self.square.setStyleSheet("QWidget { background-color: %s }" % self.col.name()) """ #self.setLayout(layout) self.setLayout(self.layout3) self.setGeometry(300, 300, 580,170) self.setWindowTitle('Timer button') self.show() def update_display(self): self.lcdNumber.display("%6.2f"%(self.count /100.00)) self.lcdNumber.update() def do_countdown(self): self.count -= 1 self.update_display() if self.count <= 0: self.stop_countdouwn() def start_countdown(self): if self.count > 0: self.timer.start() def stop_countdouwn(self): self.timer.stop() def reset_countdown(self): self.timer.stop() self.count = 18000 self.update_display() if __name__ == '__main__': app = QApplication(sys.argv) ex = RamenTimer() sys.exit(app.exec_())