如何在 Tkinter 文本框中获取新的 API 响应?
API 在应用程序中实现服务或功能时非常有用。API 有助于建立服务器和客户端之间的连接,因此每当客户端使用其中一种 API 方法向服务器发送请求时,服务器都会向客户端响应状态代码(201 表示成功响应)。
您可以使用其中一种方法(GET、POST、PUT 或 DELETE)向您想要的任何 API 发出请求。但是,如果您想创建一个应用程序,其中需要使用其中一个公开可用的 API(例如,Cat Facts API)向服务器发出请求,那么您可以使用 Python 库中的 requests 模块。
在下面的应用程序中,我们将创建一个文本框,它将显示使用其中一个 Cat Facts API 从服务器检索到的响应 (text)。您还需要确保您已经在您的环境中安装了requests模块。要安装 requests 模块,您可以使用以下命令,
pip install request
成功安装请求模块后,您可以按照以下步骤创建应用程序 −
导入所有必需的库。
在应用程序中创建一个文本小部件,以显示从服务器检索到的所有响应(GET 请求)。
创建一个 var 来存储 API URL。
定义一个函数来调用 API 并通过从响应主体中提取 "fact" 属性来检索 JSON 响应。
通过删除现有事实并插入新的事实,使用响应更新 text 小部件事实。
创建一个按钮(下一步和退出)以无缝加载随机 Cat 事实。
示例
# 导入所需的库
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 = request.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()
输出
单击"下一个"按钮获取下一个随机 Cat 事实。您也可以单击"退出"按钮退出 tkinter 应用程序窗口。

相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

