अधिकांश स्थितियों में, कॉलबैक फंक्शन्स को इंस्टेंस मेथड के रूप में संदर्भित किया जा सकता है। एक इंस्टेंस मेथड अपने सभी मेंबर्स को एक्सेस करता है और बिना किसी आर्गुमेंट को निर्दिष्ट किए उनके साथ ऑपरेशन करता है।
आइए एक ऐसे मामले पर विचार करें जहां एक से अधिक कंपोनेंट परिभाषित हैं और हम उन कंपोनेंट्स के साथ कुछ इवेंट हैंडल करना चाहते हैं। कई इवेंट चलाने के लिए, हम इवेंट हैंडलर्स में कई आर्गुमेंट पास करना पसंद करते हैं।
उदाहरण
इस उदाहरण में, हमने एक फ्रेम में कई बटन विजेट्स बनाए हैं, और हम विजेट के नाम को आर्गुमेंट के रूप में पास करके विभिन्न इवेंट्स हैंडल करेंगे। एक बार बटन क्लिक होने पर, यह लेबल विजेट को अपडेट करेगा और इसी तरह।
# ट्किंटर लाइब्रेरी इम्पोर्ट करें
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
# ट्किंटर फ्रेम का इंस्टेंस बनाएं
win = Tk()
# ज्योमेट्री परिभाषित करें
win.geometry("750x250")
# विभिन्न ऑपरेशन्स के लिए इवेंट हैंडलर परिभाषित करें
def event_low(button1):
label.config(text="This is Lower Value")
def event_mid(button2):
label.config(text="This is Medium Value")
def event_high(button3):
label.config(text="This is Highest value")
# लेबल बनाएं
label = Label(win, text="", font=('Helvetica 15 underline'))
label.pack()
# फ्रेम बनाएं
frame = Frame(win)
# फ्रेम में बटन बनाएं
button1 = ttk.Button(frame, text="Low", command=lambda: event_low(button1))
button1.pack(pady=10)
button2 = ttk.Button(frame, text="Medium", command=lambda: event_mid(button2))
button2.pack(pady=10)
button3 = ttk.Button(frame, text="High", command=lambda: event_high(button3))
button3.pack(pady=10)
frame.pack()
win.mainloop()
आउटपुट
उपरोक्त कोड चलाने से एक विंडो प्रदर्शित होगी जिसमें लो, मीडियम, और हाई बटन होंगे। जब हम एक बटन पर क्लिक करते हैं, तो यह विंडो पर कुछ लेबल टेक्स्ट दिखाएगा।
