GUI Programming

Tkinter में गतिशील ड्रॉपडाउन मेनू बनाना

Spread the love

Tkinter का OptionMenu विजेट आपके Python GUI अनुप्रयोगों में ड्रॉपडाउन मेनू बनाने का एक सरल लेकिन प्रभावी तरीका प्रदान करता है। यह गाइड मूल ड्रॉपडाउन मेनू बनाने और उपयोगकर्ता चयन परिवर्तनों द्वारा ट्रिगर किए गए कार्यक्षमता के साथ उन्हें बढ़ाने पर केंद्रित है।

विषय-सूची

  1. एक मूल ड्रॉपडाउन मेनू बनाना
  2. चयन परिवर्तनों पर प्रतिक्रिया देना

एक मूल ड्रॉपडाउन मेनू बनाना

एक Tkinter ड्रॉपडाउन मेनू का आधार ttk.OptionMenu विजेट है। यह उदाहरण इसके मूल कार्यान्वयन को दर्शाता है:


import tkinter as tk
from tkinter import ttk

root = tk.Tk()
root.title("Basic Tkinter Dropdown Menu")

selected_option = tk.StringVar(root)
selected_option.set("Option 1")  # डिफ़ॉल्ट मान

options = ["Option 1", "Option 2", "Option 3"]

option_menu = ttk.OptionMenu(root, selected_option, *options)
option_menu.pack(pady=20)

root.mainloop()

यह कोड एक विंडो बनाता है, चयनित विकल्प को संग्रहीत करने के लिए एक StringVar को इनिशियलाइज़ करता है, विकल्पों की एक सूची परिभाषित करता है, और ड्रॉपडाउन बनाने के लिए ttk.OptionMenu का उपयोग करता है। *options सूची को अनपैक करता है, प्रत्येक विकल्प को OptionMenu के लिए एक अलग तर्क के रूप में प्रदान करता है। चयनित मान स्वचालित रूप से selected_option में अपडेट हो जाता है।

चयन परिवर्तनों पर प्रतिक्रिया देना

इंटरैक्टिविटी जोड़ने के लिए, हम उपयोगकर्ता द्वारा एक अलग विकल्प का चयन करने पर कोड निष्पादित कर सकते हैं। यह StringVar की trace विधि का उपयोग करके किया जाता है:


import tkinter as tk
from tkinter import ttk

def option_changed(new_value):
    print(f"Selected option: {new_value}")
    # यहाँ अपनी कस्टम क्रियाएँ जोड़ें, जैसे, अन्य विजेट अपडेट करें,
    # नेटवर्क अनुरोध करें, आदि।

root = tk.Tk()
root.title("Interactive Tkinter Dropdown Menu")

selected_option = tk.StringVar(root)
selected_option.set("Option 1")

options = ["Option 1", "Option 2", "Option 3"]

option_menu = ttk.OptionMenu(root, selected_option, *options)
option_menu.pack(pady=20)

selected_option.trace("w", lambda *args: option_changed(selected_option.get()))

root.mainloop()

जब भी selected_option चर बदलता है, option_changed फ़ंक्शन को कॉल किया जाता है। trace("w", ...) विधि इस फ़ंक्शन को पंजीकृत करती है जिसे चर में लिखे जाने पर कॉल किया जाता है। लैम्ब्डा फ़ंक्शन सुनिश्चित करता है कि वर्तमान मान option_changed को पास किया जाए। अपने अनुप्रयोग के तर्क के साथ print कथन को बदलें।

यह दृष्टिकोण एक गतिशील और उत्तरदायी ड्रॉपडाउन मेनू बनाता है, उपयोगकर्ता इंटरैक्शन और अनुप्रयोग कार्यक्षमता को बढ़ाता है।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *