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

Tkinter टेक्स्टबॉक्स में नया API रिस्पॉन्स कैसे प्राप्त करें?

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

आप GET, POST, PUT या DELETE मेथड्स में से किसी एक का उपयोग करके किसी भी API को रिक्वेस्ट कर सकते हैं। हालांकि, यदि आप एक एप्लिकेशन बनाना चाहते हैं जहां आपको सार्वजनिक रूप से उपलब्ध API (उदाहरण के लिए, Cat Facts API) का उपयोग करके सर्वर को रिक्वेस्ट करने की आवश्यकता है, तो आप Python लाइब्रेरी में requests मॉड्यूल का उपयोग कर सकते हैं।

निम्नलिखित एप्लिकेशन में, हम एक टेक्स्टबॉक्स बनाएंगे जो सर्वर से GET रिक्वेस्ट का उपयोग करके प्राप्त रिस्पॉन्स (टेक्स्ट) प्रदर्शित करेगा। आपको यह भी सुनिश्चित करना होगा कि आपने पहले से ही अपने वातावरण में requests मॉड्यूल इंस्टॉल किया है। requests मॉड्यूल इंस्टॉल करने के लिए, आप निम्न कमांड का उपयोग कर सकते हैं:

pip install requests

एक बार requests मॉड्यूल सफलतापूर्वक इंस्टॉल हो जाने पर, आप एप्लिकेशन बनाने के लिए नीचे दिए गए चरणों का पालन कर सकते हैं:

  • आवश्यक सभी लाइब्रेरी इम्पोर्ट करें।

  • सर्वर से प्राप्त सभी रिस्पॉन्स (GET रिक्वेस्ट) प्रदर्शित करने के लिए एप्लिकेशन में एक टेक्स्ट विजेट बनाएं।

  • API URL स्टोर करने के लिए एक var बनाएं।

  • API कॉल करने और रिस्पॉन्स बॉडी से "fact" विशेषता निकालकर JSON रिस्पॉन्स पुनः प्राप्त करने के लिए एक फ़ंक्शन परिभाषित करें।

  • मौजूदा फैक्ट को हटाकर और नया फैक्ट डालकर text विजेट को रिस्पॉन्स के साथ अपडेट करें।

  • निर्बाध रूप से रैंडम कैट फैक्ट्स लोड करने के लिए नेक्स्ट और एग्जिट बटन बनाएं।

उदाहरण

# आवश्यक लाइब्रेरी इम्पोर्ट करें
from tkinter import *
import requests
import json

# Tkinter फ्रेम का इंस्टेंस बनाएं
win = Tk()
win.geometry("700x350")
win.title("Cat Fact API")

# रिस्पॉन्स बॉडी प्रदर्शित करने के लिए एक टेक्स्ट बॉक्स बनाएं
text = Text(win, height=10, width=50, wrap="word")
text.config(font="Arial, 12")

# एक लेबल विजेट बनाएं
label = Label(win, text="Cat Facts")
label.config(font="Calibri, 14")

# API URL जोड़ें
api_url = "https://catfact.ninja/fact"

# रिस्पॉन्स और JSON रिस्पॉन्स से टेक्स्ट विशेषता पुनः प्राप्त करने का फ़ंक्शन परिभाषित करें
def get_zen():
    response = requests.get(api_url).text
    response_info = json.loads(response)
    Fact = response_info["fact"]
    text.delete('1.0', END)
    text.insert(END, Fact)

# नेक्स्ट और एग्जिट बटन बनाएं
b1 = Button(win, text="Next", command=get_zen)
b2 = Button(win, text="Exit", command=win.destroy)

label.pack()
text.pack()
b1.pack()
b2.pack()

get_zen()
win.mainloop()

आउटपुट

अगला रैंडम कैट फैक्ट्स लाने के लिए "Next" बटन पर क्लिक करें। आप Tkinter एप्लिकेशन विंडो से बाहर निकलने के लिए "Exit" बटन पर भी क्लिक कर सकते हैं।

Tkinter टेक्स्टबॉक्स में नया API रिस्पॉन्स कैसे प्राप्त करें?

  1. Tkinter में Button Text Dynamically Resize कैसे करें? Tkinter में Button Text Dynamically Resize कैसे करें?

    मान लीजिए हमने Tkinter Frame में एक button और एक label बनाया है। Task है button text को dynamically resize करके इसके main window के अनुसार adjust करना। हम button widget का उपयोग करके button बना सकते हैं। हालांकि, button label dynamically बनाने के लिए कई अन्य functions उपयोग किए जाते हैं। इस उदाहरण म

  1. Tkinter Text Box की Contents Delete कैसे करें? Tkinter Text Box की Contents Delete कैसे करें?

    Tkinter कई functions और modules प्रदान करता है जिनके माध्यम से हम buttons, dialogue boxes, widgets, और बहुत कुछ के साथ fully featured applications बना सकते हैं। Text widget बनाने के लिए, हम tkinter entry widget function का उपयोग कर सकते हैं जो basically एक constructor है और यह tkinter के window या f

  1. Tkinter में Entry में Placeholder कैसे Add करें? Tkinter में Entry में Placeholder कैसे Add करें?

    Tkinter button, text, entry, dialogue और अन्य attributes जैसे widgets add करने की सुविधाएं प्रदान करता है जो एप्लिकेशन develop करने में मदद करते हैं। हालांकि, tkinter entry widget में placeholder include नहीं करता। Placeholders वो dummy text होते हैं जो entry widget में दिखाई देते हैं ताकि user को इ