스톱워치는 일반적으로 초에서 분 단위로 두 이벤트 사이의 시간 간격을 측정하는 데 사용됩니다. 그것은 스포츠에서 또는 산업 설정에서 열, 전류 등의 흐름을 측정하는 것과 같이 다양한 용도로 사용됩니다. Python은 tkinter 라이브러리를 사용하여 스톱워치를 만드는 데 사용할 수 있습니다.
이 라이브러리에는 시작, 중지를 보여주는 스톱워치를 만드는 GUI 기능이 있습니다. 및 재설정 옵션. 프로그램의 핵심 구성요소는 lable.after() 를 사용하는 것입니다. tkinter의 모듈.
label.after(parent, ms, function = None) where parent: The object of the widget which is using this function. ms: Time in miliseconds. function: Call back function
아래 프로그램에서 이 방법을 프로그램의 핵심 구성 요소로 사용하고 스톱워치에 GUI 기능을 표시하는 위젯을 디자인합니다.
예시
import tkinter as tink count = -1 run = False def var_name(mark): def value(): if run: global count # Just beore starting if count == -1: show = "Starting" else: show = str(count) mark['text'] = show #Increment the count after #every 1 second mark.after(1000, value) count += 1 value() # While Running def Start(mark): global run run = True var_name(mark) start['state'] = 'disabled' stop['state'] = 'normal' reset['state'] = 'normal' # While stopped def Stop(): global run start['state'] = 'normal' stop['state'] = 'disabled' reset['state'] = 'normal' run = False # For Reset def Reset(label): global count count = -1 if run == False: reset['state'] = 'disabled' mark['text'] = 'Welcome' else: mark['text'] = 'Start' base = tink.Tk() base.title("PYTHON STOPWATCH") base.minsize(width=300, height=200) mark = tink.Label(base, text="Welcome", fg="blue", font="Times 25 bold",bg="white") mark.pack() start = tink.Button(base, text='Start',width=25, command=lambda: Start(mark)) stop = tink.Button(base, text='Stop', width=25, state='disabled', command=Stop) reset = tink.Button(base, text='Reset',width=25, state='disabled', command=lambda: Reset(mark)) start.pack() stop.pack() reset.pack() base.mainloop()
아래 이미지는 스톱워치가 실행될 때 세 가지 다른 시나리오를 보여줍니다.
스톱워치 시작
실행 중인 Stopwtach
Stopwtach 중지
스톱워치 재설정