একটি স্টপওয়াচ সাধারণত দুটি ইভেন্টের মধ্যে টাইম ইন্টারভাল মাপতে ব্যবহৃত হয় সেকেন্ড থেকে মিনিটে। এর বিভিন্ন ব্যবহার আছে যেমন স্পোর্টস বা ইন্ডাস্ট্রিয়াল সেটআপে হিট, কারেন্ট ফ্লো মাপতে। পাইথন তার tkinter লাইব্রেরি ব্যবহার করে স্টপওয়াচ তৈরি করতে পারে।
এই লাইব্রেরিতে GUI ফিচার থাকবে Start, Stop এবং Reset অপশন দেখানোর জন্য। প্রোগ্রামের কী কম্পোনেন্ট হলো tkinter-এর label.after() মডিউল।
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
# জাস্ট বিফোর স্টার্টিং
if count == -1:
show = "Starting"
else:
show = str(count)
mark['text'] = show
# প্রতি ১ সেকেন্ড পর ইনক্রিমেন্ট
mark.after(1000, value)
count += 1
value()
# রান হয়ে থাকা সময়
def Start(mark):
global run
run = True
var_name(mark)
start['state'] = 'disabled'
stop['state'] = 'normal'
reset['state'] = 'normal'
# স্টপড সময়
def Stop():
global run
start['state'] = 'normal'
stop['state'] = 'disabled'
reset['state'] = 'normal'
run = False
# রিসেটের জন্য
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()
নিচের ইমেজগুলো তিনটি ভিন্ন সিনেরিও দেখাচ্ছে যখন স্টপওয়াচ রান করা হয়।
স্টপওয়াচ শুরু

চলমান স্টপওয়াচ

স্টপওয়াচ বন্ধ

স্টপওয়াচ রিসেট
