如何在 Tkinter 文本框中获取新的 API 响应?
API 在应用程序中实现服务或功能方面非常有用。API 有助于建立服务器和客户端之间的连接,因此,每当客户端使用 API 方法之一向服务器发送请求时,服务器都会向客户端返回状态代码(201 表示成功响应)。
您可以使用其中一种方法(GET、POST、PUT 或 DELETE)向任何您想要的 API 发出请求。但是,如果您想创建一个需要使用公共可用 API(例如,**猫事实 API**)向服务器发出请求的应用程序,那么您可以使用 Python 库中的 **requests** 模块。
在下面的应用程序中,我们将创建一个文本框,该文本框将显示使用猫事实 API 之一从服务器检索到的响应 **(文本)**。您还需要确保您已在您的环境中安装了 **requests** 模块。要安装 **requests** 模块,您可以使用以下命令:
pip install requests
成功安装 requests 模块后,您可以按照以下步骤创建应用程序:
导入所有必需的库。
在应用程序中创建一个文本小部件,以显示从服务器检索到的所有响应(GET 请求)。
创建一个 **var** 来存储 API URL。
定义一个函数来调用 API 并通过从响应正文中提取 **“fact”** 属性来检索 JSON 响应。
通过删除现有事实并插入新事实来更新 **text** 小部件中的响应。
创建一个按钮(下一步和退出)以无缝加载随机猫事实。
示例
# Import the required libraries
from tkinter import *
import requests
import json
# Create an instance of tkinter frame
win = Tk()
win.geometry("700x350")
win.title("Cat Fact API ")
# Create a text box to display the response body
text = Text(win, height=10, width=50, wrap="word")
text.config(font="Arial, 12")
# Create a label widget
label = Label(win, text="Cat Facts")
label.config(font="Calibri, 14")
# Add the API URL
api_url = "https://catfact.ninja/fact"
# Define a function to retrieve the response
# and text attribute from the JSON response
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)
# Create Next and Exit Button
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()输出
单击“**下一步**”按钮以获取下一个随机猫事实。您也可以单击“**退出**”按钮以退出 tkinter 应用程序窗口。

广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP