ইভেন্ট হ্যান্ডলিং

GUI প্রোগ্রামিং - পাইথন প্রোগ্রামিং (Python Programming) - Computer Programming

316

Tkinter-এ ইভেন্ট হ্যান্ডলিং হলো ব্যবহারকারীর বিভিন্ন ক্রিয়া যেমন ক্লিক, কী-প্রেস, মাউস মুভমেন্ট ইত্যাদি অনুসারে অ্যাপ্লিকেশনকে সাড়া দেওয়ার প্রক্রিয়া। Tkinter-এ bind() মেথড ব্যবহার করে উইজেটের সাথে ইভেন্ট সংযুক্ত করা যায়। ইভেন্ট হ্যান্ডলিংয়ের মাধ্যমে অ্যাপ্লিকেশনকে আরও ইন্টারেক্টিভ ও ব্যবহারকারী-বান্ধব করা যায়।


Tkinter-এ ইভেন্ট হ্যান্ডলিং

Tkinter-এ ইভেন্ট হ্যান্ডলিংয়ের জন্য bind() মেথড ব্যবহার করা হয়। bind() মেথডটি ইভেন্ট টাইপ এবং একটি ফাংশন গ্রহণ করে, যা ইভেন্ট ঘটলে কল করা হয়।

widget.bind("<event>", function)

কিছু সাধারণ ইভেন্ট

  • <Button-1>: মাউসের বাম বাটন ক্লিক
  • <Button-2>: মাউসের মাঝের বাটন ক্লিক
  • <Button-3>: মাউসের ডান বাটন ক্লিক
  • <Double-Button-1>: ডাবল ক্লিক
  • <Key>: যেকোনো কী প্রেস
  • <Return>: Enter কী প্রেস
  • <Escape>: Escape কী প্রেস
  • <Motion>: মাউস মুভমেন্ট

উদাহরণ ১: মাউস ক্লিক ইভেন্ট

নিচের উদাহরণে একটি লেবেল এবং একটি বাটনের সাথে মাউস ক্লিক ইভেন্ট যুক্ত করা হয়েছে।

import tkinter as tk

# উইন্ডো তৈরি
window = tk.Tk()
window.title("Mouse Click Event")

# ফাংশন যা মাউস ক্লিক ইভেন্ট হ্যান্ডল করবে
def on_click(event):
    print("Mouse clicked at", event.x, event.y)

# একটি লেবেল
label = tk.Label(window, text="Click anywhere on the window")
label.pack(pady=20)

# উইন্ডোর উপর মাউস ক্লিক ইভেন্ট সংযুক্ত করা
window.bind("<Button-1>", on_click)

# উইন্ডো প্রদর্শন
window.mainloop()

এখানে, যখন মাউসের বাম বাটন ক্লিক করা হবে, তখন on_click ফাংশনটি কল হবে এবং মাউসের এক্স ও ওয়াই কোঅর্ডিনেট প্রিন্ট করবে।


উদাহরণ ২: কী-প্রেস ইভেন্ট

নিচের উদাহরণে কী-প্রেস ইভেন্ট যুক্ত করা হয়েছে, যা ব্যবহারকারী যেকোনো কী চাপলে এটি কাজ করবে।

import tkinter as tk

# উইন্ডো তৈরি
window = tk.Tk()
window.title("Key Press Event")

# ফাংশন যা কী-প্রেস ইভেন্ট হ্যান্ডল করবে
def on_key_press(event):
    print("Key pressed:", event.keysym)

# উইন্ডোর উপর কী-প্রেস ইভেন্ট সংযুক্ত করা
window.bind("<Key>", on_key_press)

# উইন্ডো প্রদর্শন
window.mainloop()

এখানে, যখন ব্যবহারকারী কোনো কী চাপবে, তখন on_key_press ফাংশনটি কল হবে এবং প্রিন্ট করবে কী কীটি চাপা হয়েছে।


উদাহরণ ৩: বাটনে ক্লিক ইভেন্ট

Tkinter-এর Button উইজেটের সাথে সরাসরি ক্লিক ইভেন্ট যুক্ত করা যায়।

import tkinter as tk

# উইন্ডো তৈরি
window = tk.Tk()
window.title("Button Click Event")

# ফাংশন যা বাটনের ক্লিক ইভেন্ট হ্যান্ডল করবে
def on_button_click():
    print("Button Clicked!")

# একটি বাটন তৈরি এবং ক্লিক ইভেন্ট সংযুক্ত করা
button = tk.Button(window, text="Click Me", command=on_button_click)
button.pack(pady=20)

# উইন্ডো প্রদর্শন
window.mainloop()

এখানে on_button_click ফাংশনটি বাটন ক্লিকের মাধ্যমে কল হবে এবং কনসোলে মেসেজ প্রিন্ট করবে।


উদাহরণ ৪: মাউস মুভমেন্ট ইভেন্ট

Tkinter-এ Motion ইভেন্ট ব্যবহার করে মাউস মুভমেন্ট ট্র্যাক করা যায়।

import tkinter as tk

# উইন্ডো তৈরি
window = tk.Tk()
window.title("Mouse Motion Event")

# ফাংশন যা মাউস মুভমেন্ট ইভেন্ট হ্যান্ডল করবে
def on_mouse_move(event):
    print("Mouse moved to", event.x, event.y)

# উইন্ডোর উপর মাউস মুভমেন্ট ইভেন্ট সংযুক্ত করা
window.bind("<Motion>", on_mouse_move)

# উইন্ডো প্রদর্শন
window.mainloop()

এখানে, যখন মাউস উইন্ডোর মধ্যে নড়াচড়া করবে, তখন on_mouse_move ফাংশনটি কল হবে এবং মাউসের বর্তমান পজিশন প্রিন্ট করবে।


ইভেন্ট সংক্ষিপ্ত রেফারেন্স

  • Button Events: <Button-1>, <Button-2>, <Button-3>, <Double-Button-1>
  • Key Events: <Key>, <Return>, <Escape>, <BackSpace>
  • Mouse Motion: <Motion>
  • Window Close: <Destroy>

সারসংক্ষেপ

Tkinter-এর ইভেন্ট হ্যান্ডলিং GUI অ্যাপ্লিকেশনকে আরও ইন্টারেক্টিভ ও ব্যবহারকারী-বান্ধব করে। ইভেন্ট হ্যান্ডলিং ব্যবহার করে মাউস ক্লিক, কী-প্রেস এবং মাউস মুভমেন্ট ইত্যাদি অনুযায়ী অ্যাপ্লিকেশন প্রতিক্রিয়া দিতে পারে, যা ব্যবহারকারীদের জন্য আরও আকর্ষণীয় এবং সহজ ব্যবহারযোগ্য ইন্টারফেস তৈরি করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...