Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

ट्किंटर में इवेंट हैंडलर को आर्गुमेंट कैसे पास करें?


अधिकांश स्थितियों में, कॉलबैक फंक्शन्स को इंस्टेंस मेथड के रूप में संदर्भित किया जा सकता है। एक इंस्टेंस मेथड अपने सभी मेंबर्स को एक्सेस करता है और बिना किसी आर्गुमेंट को निर्दिष्ट किए उनके साथ ऑपरेशन करता है।

आइए एक ऐसे मामले पर विचार करें जहां एक से अधिक कंपोनेंट परिभाषित हैं और हम उन कंपोनेंट्स के साथ कुछ इवेंट हैंडल करना चाहते हैं। कई इवेंट चलाने के लिए, हम इवेंट हैंडलर्स में कई आर्गुमेंट पास करना पसंद करते हैं।

उदाहरण

इस उदाहरण में, हमने एक फ्रेम में कई बटन विजेट्स बनाए हैं, और हम विजेट के नाम को आर्गुमेंट के रूप में पास करके विभिन्न इवेंट्स हैंडल करेंगे। एक बार बटन क्लिक होने पर, यह लेबल विजेट को अपडेट करेगा और इसी तरह।

# ट्किंटर लाइब्रेरी इम्पोर्ट करें
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()

आउटपुट

उपरोक्त कोड चलाने से एक विंडो प्रदर्शित होगी जिसमें लो, मीडियम, और हाई बटन होंगे। जब हम एक बटन पर क्लिक करते हैं, तो यह विंडो पर कुछ लेबल टेक्स्ट दिखाएगा।

ट्किंटर में इवेंट हैंडलर को आर्गुमेंट कैसे पास करें?


  1. Tkinter में विंडो क्लोज इवेंट कैसे हैंडल करें? Tkinter में विंडो क्लोज इवेंट कैसे हैंडल करें?

    Tkinter विंडो बंद करने के लिए एक कस्टम हैंडलर प्रदान करता है। यह एक कॉलबैक फंक्शन के रूप में कार्य करता है जिसे यूज़र विंडो बंद करने के लिए चला सकता है। हैंडलर का उपयोग करके विंडो बंद करने के लिए, हम destroy() मेथड का उपयोग कर सकते हैं। यह किसी भी फंक्शन या किसी विजेट में कॉल करने के बाद विंडो को अ

  1. Tkinter में फ्रेम को कैसे क्लियर करें? Tkinter में फ्रेम को कैसे क्लियर करें?

    Tkinter फ्रेम्स का उपयोग एस्थेटिक तरीके से बहुत सारे विजेट्स को ग्रुप और ऑर्गनाइज़ करने के लिए किया जाता है। एक फ्रेम कंपोनेंट में बटन विजेट्स, एंट्री विजेट्स, लेबल्स, स्क्रॉलबार्स और अन्य विजेट्स हो सकते हैं। यदि हम फ्रेम कंटेंट क्लियर करना चाहते हैं या फ्रेम के अंदर सभी विजेट्स डिलीट करना चाहते ह

  1. Tkinter लेबल टेक्स्ट कैसे प्राप्त करें? Tkinter लेबल टेक्स्ट कैसे प्राप्त करें?

    Tkinter लेबल्स विंडो पर टेक्स्ट या इमेजेज बनाने और डिस्प्ले करने के लिए उपयोग किए जाते हैं। इसमें कई कंपोनेंट्स और फंक्शन्स हैं जिनका उपयोग लेबल जानकारी जैसे फॉन्टफैमिली, पैडिंग, चौड़ाई, ऊंचाई आदि को कस्टमाइज़ करने के लिए किया जा सकता है। विंडो पर लेबल टेक्स्ट प्राप्त करने के लिए, हम उस टेक्स्ट के