কম্পিউটার টিউটোরিয়াল

পাইথন ব্যবহার করে স্টপওয়াচ তৈরি করা


একটি স্টপওয়াচ সাধারণত দুটি ইভেন্টের মধ্যে টাইম ইন্টারভাল মাপতে ব্যবহৃত হয় সেকেন্ড থেকে মিনিটে। এর বিভিন্ন ব্যবহার আছে যেমন স্পোর্টস বা ইন্ডাস্ট্রিয়াল সেটআপে হিট, কারেন্ট ফ্লো মাপতে। পাইথন তার 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()

নিচের ইমেজগুলো তিনটি ভিন্ন সিনেরিও দেখাচ্ছে যখন স্টপওয়াচ রান করা হয়।

স্টপওয়াচ শুরু

পাইথন ব্যবহার করে স্টপওয়াচ তৈরি করা

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

পাইথন ব্যবহার করে স্টপওয়াচ তৈরি করা

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

পাইথন ব্যবহার করে স্টপওয়াচ তৈরি করা

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

পাইথন ব্যবহার করে স্টপওয়াচ তৈরি করা

  1. পাইথনে WhatsApp অটোমেশন (WhatsApp using Python)

  2. পাইথনে cx_Freeze ব্যবহার করে এক্সিকিউটেবল বানানো

  3. পাইথনে ওয়েবসাইট অ্যালার্ম তৈরি করা

  4. পাইথন ব্যবহার করে ওয়ার্ড ক্লাউড (Word Cloud) তৈরি করা