如何在Tkinter文本框中获取新的API响应?

如何在Tkinter文本框中获取新的API响应?

API在实现应用程序中的服务或功能方面非常有用。API有助于建立服务器与客户端之间的连接,因此每当客户端使用其中一种API方法向服务器发送请求时,服务器将向客户端响应状态代码(201作为成功响应)。

你可以使用其中一种方法(GET、POST、PUT或DELETE)向任何你想请求的API发送请求。然而,如果你想创建一个应用程序,在其中需要使用公开可用的API之一(例如 Cat Facts API ),那么你可以使用Python库中的 requests 模块。

在以下应用程序中,我们将创建一个文本框,该文本框将显示使用其中一个Cat Facts API从服务器检索的响应 (文本) 。你还需要确保你已经在你的环境中安装了 requests 模块。为了安装 requests 模块,你可以使用以下命令,

pip install requests

成功安装requests模块后,你可以按照下面的步骤创建一个应用程序。

  • 导入所需的所有库。

  • 在应用程序中创建一个文本小部件,用于显示从服务器检索的所有响应(GET请求)。

  • 创建一个 var 来存储API URL。

  • 定义一个函数来调用API并通过从响应主体中提取 “fact” 属性来检索JSON响应。

  • 通过删除现有的fact并插入新的fact来更新 text 带有响应的小部件。

  • 创建一个按钮(下一个和退出)以无缝地加载随机的Cat facts。

示例

# 导入所需的所有库
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响应中提取text属性
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 “按钮以获取下一个随机的Cat facts。你还可以单击” Exit “按钮退出tkinter应用程序窗口。

如何在Tkinter文本框中获取新的API响应?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程