행위

"Pyqt 타이머"의 두 판 사이의 차이

DB CAFE

 
52번째 줄: 52번째 줄:
 
     sys.exit(app.exec_())
 
     sys.exit(app.exec_())
 
</source>
 
</source>
 +
[[Category:python]]

2020년 11월 9일 (월) 00:25 기준 최신판

thumb_up 추천메뉴 바로가기


import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import QTimer, QTime
class MyWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.timer = QTimer(self)
        self.timer.setInterval(0.5)
        self.timer.timeout.connect(self.timeout)
        self.setWindowTitle('QTimer')
        self.setGeometry(100, 100, 600, 280)
 
        layout = QVBoxLayout()
 
        self.lcd = QLCDNumber()
        self.lcd.display('')
        self.lcd.setDigitCount(15)
        subLayout = QHBoxLayout()
        
        self.btnStart = QPushButton("시작")
        self.btnStart.clicked.connect(self.onStartButtonClicked)
 
        self.btnStop = QPushButton("멈춤")
        self.btnStop.clicked.connect(self.onStopButtonClicked)
 
        layout.addWidget(self.lcd)
        
        subLayout.addWidget(self.btnStart)
        subLayout.addWidget(self.btnStop)
        layout.addLayout(subLayout)
 
        self.btnStop.setEnabled(False)
        self.setLayout(layout)        
    def onStartButtonClicked(self):
        self.timer.start()
        self.btnStop.setEnabled(True)
        self.btnStart.setEnabled(False)
    def onStopButtonClicked(self):
        self.timer.stop()
        self.btnStop.setEnabled(False)
        self.btnStart.setEnabled(True)
    def timeout(self):
        sender = self.sender()
        currentTime = QTime.currentTime().toString("hh:mm:ss,zzz")
        if id(sender) == id(self.timer):
            self.lcd.display(currentTime)
if __name__ == "__main__":
    app = QApplication(sys.argv)
    myWindow = MyWindow()
    myWindow.show()
    sys.exit(app.exec_())