본문 바로가기
프로그래밍 관련/PyQt

PyQt(2) 타이머 인터럽트 만들기

by 존버매니아.임베디드 개발자 2021. 9. 13.
반응형
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import QTimer
    
class MyWindow(QMainWindow):
         
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Test")
        self.setGeometry(1000, 200, 300, 300)

        # timer 1
        self.timer = QTimer(self)
        self.timer.start(100)
        self.timer.timeout.connect(self.timeout_fun)
        self.time_cnt =0

        # timer 2
        self.timer2 = QTimer(self)
        self.timer2.start(500)
        self.timer2.timeout.connect(self.timeout_fun2)
        self.time_cnt2 =0
    
    def timeout_fun(self):
       self.time_cnt += 1
       print("time cnt is %d" %self.time_cnt)

    def timeout_fun2(self):
       self.time_cnt2 += 1
       print("time cnt2 is %d" %self.time_cnt2)   

    

if __name__ == "__main__":
    app = QApplication(sys.argv)
    myWindow = MyWindow()
    myWindow.show()

    app.exec_()

 

코드 보면 내용 이해 가리라 믿는다 .별도의 설명은 생략한다.

참고로 타이머 클래스의 start 함수 안에 들어가는 숫자의 단위는 ms이다.

 

이 코드를 실행하면 gui 창이 실행된 상태로,

timeout_fun 함수는 100ms 마다 실행 될 것이고

timeout_fun2 함수는 500ms마다 실 될 것이다. 

 

 

 

반응형