কম্পিউটার টিউটোরিয়াল

Tkinter টেক্সটবক্সে নতুন API রেসপন্স পাওয়ার পদ্ধতি


API একটি অ্যাপ্লিকেশনে সার্ভিস বা ফিচার ইমপ্লিমেন্ট করতে অত্যন্ত উপকারী। API সার্ভার এবং ক্লায়েন্টের মধ্যে কানেকশন স্থাপন করতে সাহায্য করে, তাই যখনই একটি ক্লায়েন্ট API মেথডগুলির একটি ব্যবহার করে সার্ভারে রিকোয়েস্ট পাঠায়, সার্ভার ক্লায়েন্টকে একটি স্ট্যাটাস কোড (২০১ সফল রেসপন্স হিসেবে) রেসপন্ড করে।

আপনি যেকোনো API-এ অন্য একটি মেথড (GET, POST, PUT বা DELETE) ব্যবহার করে রিকোয়েস্ট করতে পারেন। যাইহোক, যদি আপনি একটি অ্যাপ্লিকেশন তৈরি করতে চান যেখানে আপনাকে পাবলিকলি উপলব্ধ একটি API (উদাহরণস্বরূপ, Cat Facts API) ব্যবহার করে সার্ভারে রিকোয়েস্ট করতে হয়, তবে আপনি পাইথন লাইব্রেরিতে requests মডিউল ব্যবহার করতে পারেন।

নিচের অ্যাপ্লিকেশনে, আমরা একটি টেক্সটবক্স তৈরি করব যা সার্ভার থেকে রিট্রিভ করা রেসপন্স (text) দেখাবে Cat Facts API-এর একটি ব্যবহার করে। আপনাকে নিশ্চিত করতে হবে যে আপনার এনভায়রনমেন্টে requests মডিউল ইতিমধ্যে ইন্সটল করা আছে। requests মডিউল ইন্সটল করতে, আপনি নিচের কমান্ড ব্যবহার করতে পারেন:

pip install requests

requests মডিউল সফলভাবে ইন্সটল হলে, নিচের ধাপগুলো অনুসরণ করে একটি অ্যাপ্লিকেশন তৈরি করুন:

  • সকল প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করুন।

  • সার্ভার থেকে রিট্রিভ করা সকল রেসপন্স (GET রিকোয়েস্ট) প্রদর্শন করার জন্য অ্যাপ্লিকেশনে একটি টেক্সট উইজেট তৈরি করুন।

  • API URL সংরক্ষণ করার জন্য একটি var তৈরি করুন।

  • API কল করে JSON রেসপন্স রিট্রিভ করার এবং রেসপন্স বডি থেকে "fact" অ্যাট্রিবিউট এক্সট্রাক্ট করার একটি ফাংশন সংজ্ঞায়িত করুন।

  • বিদ্যমান ফ্যাক্ট ডিলিট করে এবং নতুন ফ্যাক্ট ইনসার্ট করে text উইজেট আপডেট করুন।

  • র‍্যান্ডম ক্যাট ফ্যাক্টস সমসাময়িক লোড করার জন্য একটি বাটন (next এবং exit) তৈরি করুন।

উদাহরণ

# প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করুন
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)

# Next এবং Exit বাটন তৈরি করুন
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" বাটনে ক্লিক করুন। আপনি "Exit" বাটনে ক্লিক করে Tkinter অ্যাপ্লিকেশন উইন্ডো থেকে বের হতে পারেন।

Tkinter টেক্সটবক্সে নতুন API রেসপন্স পাওয়ার পদ্ধতি

  1. টকিন্টার পাইথনে লেবেল টেক্সট পাওয়া

  2. Tkinter-এ বাটন টেক্সট ডাইনামিক্যালি রিসাইজ করা

  3. Tkinter Text Box-এর কন্টেন্ট ডিলিট করা

  4. Tkinter-এ Entry উইজেটে প্লেসহোল্ডার (Placeholder) যোগ করা