Tkinter এর মাধ্যমে Custom Dialog তৈরি

Menus এবং Dialog Boxes (মেনু এবং ডায়ালগ বক্স) - টিসিএল/টিকে (Tcl/Tk) - Computer Programming

274

টকইন্টার (Tkinter) এর মাধ্যমে Custom Dialog তৈরি

Tkinter হল পায়থনের একটি GUI টুলকিট, যা Tk টুলকিটের ওপর ভিত্তি করে তৈরি। Tkinter ব্যবহার করে আপনি গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) অ্যাপ্লিকেশন তৈরি করতে পারেন, এবং এর মাধ্যমে custom dialog তৈরি করা খুবই সহজ। Custom Dialog উইন্ডো হল এমন একটি ডায়ালগ বক্স যা আপনি বিশেষ উদ্দেশ্য অনুযায়ী তৈরি করতে পারেন, যেমন ব্যবহারকারীর ইনপুট গ্রহণ করা, সতর্কীকরণ বার্তা প্রদর্শন করা, বা কিছু কাস্টম ফাংশন এক্সিকিউট করা।

এখানে আমরা Tkinter ব্যবহার করে Custom Dialog তৈরি করার প্রক্রিয়া দেখাবো।


১. Custom Dialog তৈরি করার জন্য Tkinter ব্যবহার

Tkinter এর মাধ্যমে একটি কাস্টম ডায়ালগ তৈরি করতে, আপনাকে একটি নতুন উইন্ডো তৈরি করতে হবে যা মূল অ্যাপ্লিকেশনের উইন্ডোর উপরে প্রদর্শিত হবে। এই ডায়ালগ উইন্ডোতে আপনি বিভিন্ন উইজেট যেমন লেবেল, এন্ট্রি, বাটন ইত্যাদি ব্যবহার করতে পারেন।

১.১. Custom Dialog এর উদাহরণ

এখানে একটি Custom Dialog তৈরি করা হয়েছে, যেখানে ব্যবহারকারী একটি নাম ইনপুট করতে পারেন এবং একটি বাটন ক্লিক করলে সেই ইনপুট গ্রহণ করা হবে।

import tkinter as tk
from tkinter import simpledialog

# মূল উইন্ডো তৈরি করা
root = tk.Tk()
root.withdraw()  # মূল উইন্ডোটি হিডেন করা

# কাস্টম ডায়ালগ ফাংশন
def ask_for_name():
    # ডায়ালগ উইন্ডো প্রদর্শন করা
    name = simpledialog.askstring("Input", "What is your name?")
    
    # ব্যবহারকারীর ইনপুট দেখানো
    if name:
        print(f"Hello, {name}!")
    else:
        print("No name provided.")

# ডায়ালগ ট্রিগার করার জন্য একটি বাটন তৈরি করা
button = tk.Button(root, text="Enter Name", command=ask_for_name)
button.pack()

# GUI লুপ শুরু করা
root.mainloop()

এখানে, simpledialog.askstring ব্যবহৃত হয়েছে যা একটি কাস্টম ডায়ালগ তৈরি করে এবং ব্যবহারকারীর কাছ থেকে একটি স্ট্রিং ইনপুট নেয়।

১.২. কাস্টম ডায়ালগ উইন্ডো তৈরি করা

আপনি যদি আরও কাস্টমাইজড ডায়ালগ তৈরি করতে চান, যেমন একটি ইনপুট ফিল্ড, লেবেল, এবং ওকে / ক্যান্সেল বাটন সহ, তাহলে আপনি Toplevel উইন্ডো ব্যবহার করে একটি নতুন উইন্ডো তৈরি করতে পারেন।

import tkinter as tk

# মূল উইন্ডো তৈরি করা
root = tk.Tk()

# কাস্টম ডায়ালগ তৈরি করার জন্য ফাংশন
def custom_dialog():
    # নতুন উইন্ডো তৈরি করা
    dialog = tk.Toplevel(root)
    dialog.title("Custom Dialog")
    dialog.geometry("300x150")
    
    # লেবেল এবং এন্ট্রি ফিল্ড
    label = tk.Label(dialog, text="Enter your name:")
    label.pack(pady=10)
    
    entry = tk.Entry(dialog)
    entry.pack(pady=10)
    
    # ক্যান্সেল এবং ওকে বাটন
    def on_ok():
        user_input = entry.get()
        print(f"User entered: {user_input}")
        dialog.destroy()  # উইন্ডো বন্ধ করা

    def on_cancel():
        print("Operation cancelled.")
        dialog.destroy()  # উইন্ডো বন্ধ করা
    
    ok_button = tk.Button(dialog, text="OK", command=on_ok)
    ok_button.pack(side="left", padx=20, pady=10)
    
    cancel_button = tk.Button(dialog, text="Cancel", command=on_cancel)
    cancel_button.pack(side="right", padx=20, pady=10)

# ডায়ালগ ট্রিগার করার জন্য একটি বাটন
button = tk.Button(root, text="Open Custom Dialog", command=custom_dialog)
button.pack(pady=20)

# GUI লুপ শুরু করা
root.mainloop()

এখানে, Toplevel উইন্ডো তৈরি করা হয়েছে, যা মূল উইন্ডোর উপরে প্রদর্শিত হবে। এই উইন্ডোতে একটি লেবেল, এন্ট্রি ফিল্ড এবং দুটি বাটন (OK এবং Cancel) রয়েছে।

  • OK বাটন: ব্যবহারকারী ইনপুট নেয় এবং সেই ইনপুট প্রদর্শন করে উইন্ডোটি বন্ধ করে।
  • Cancel বাটন: কোনো ইনপুট ছাড়াই উইন্ডোটি বন্ধ করে।

২. Custom Dialog এর অন্যান্য বৈশিষ্ট্য

Tkinter এর মাধ্যমে কাস্টম ডায়ালগ তৈরি করার সময় আপনি আরও অনেক বৈশিষ্ট্য যোগ করতে পারেন, যেমন:

  • ডায়ালগের সাইজ এবং অবস্থান কাস্টমাইজ করা
  • ডায়ালগে বিভিন্ন উইজেট (লেবেল, বাটন, চেকবক্স, রেডিও বাটন) ব্যবহার করা
  • ইনপুট যাচাই করা (যেমন, নাম বা সংখ্যা যাচাই)

২.১. Input Validation in Custom Dialog

কাস্টম ডায়ালগে ইনপুট যাচাই করা খুবই গুরুত্বপূর্ণ, যাতে ব্যবহারকারীরা সঠিক তথ্য প্রদান করতে পারেন।

import tkinter as tk

# মূল উইন্ডো তৈরি করা
root = tk.Tk()

# কাস্টম ডায়ালগ তৈরি করার জন্য ফাংশন
def custom_dialog():
    # নতুন উইন্ডো তৈরি করা
    dialog = tk.Toplevel(root)
    dialog.title("Custom Dialog")
    dialog.geometry("300x150")
    
    # লেবেল এবং এন্ট্রি ফিল্ড
    label = tk.Label(dialog, text="Enter your age:")
    label.pack(pady=10)
    
    entry = tk.Entry(dialog)
    entry.pack(pady=10)
    
    # ক্যান্সেল এবং ওকে বাটন
    def on_ok():
        user_input = entry.get()
        if user_input.isdigit():
            print(f"User entered: {user_input}")
            dialog.destroy()  # উইন্ডো বন্ধ করা
        else:
            print("Invalid input. Please enter a valid number.")

    def on_cancel():
        print("Operation cancelled.")
        dialog.destroy()  # উইন্ডো বন্ধ করা
    
    ok_button = tk.Button(dialog, text="OK", command=on_ok)
    ok_button.pack(side="left", padx=20, pady=10)
    
    cancel_button = tk.Button(dialog, text="Cancel", command=on_cancel)
    cancel_button.pack(side="right", padx=20, pady=10)

# ডায়ালগ ট্রিগার করার জন্য একটি বাটন
button = tk.Button(root, text="Open Custom Dialog", command=custom_dialog)
button.pack(pady=20)

# GUI লুপ শুরু করা
root.mainloop()

এখানে, isdigit() ব্যবহার করে ইনপুট যাচাই করা হয়েছে, যা নিশ্চিত করবে যে ব্যবহারকারী একটি বৈধ সংখ্যা প্রদান করেছেন।


উপসংহার

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

Content added By
Promotion

Are you sure to start over?

Loading...