Tkinter का OptionMenu
विजेट आपके Python GUI अनुप्रयोगों में ड्रॉपडाउन मेनू बनाने का एक सरल लेकिन प्रभावी तरीका प्रदान करता है। यह गाइड मूल ड्रॉपडाउन मेनू बनाने और उपयोगकर्ता चयन परिवर्तनों द्वारा ट्रिगर किए गए कार्यक्षमता के साथ उन्हें बढ़ाने पर केंद्रित है।
विषय-सूची
एक मूल ड्रॉपडाउन मेनू बनाना
एक 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
कथन को बदलें।
यह दृष्टिकोण एक गतिशील और उत्तरदायी ड्रॉपडाउन मेनू बनाता है, उपयोगकर्ता इंटरैक्शन और अनुप्रयोग कार्यक्षमता को बढ़ाता है।