用Python生成一个简易的问答系统对话框
时间: 2024-03-11 07:49:50 浏览: 26
以下是一个简单的问答系统对话框的示例代码,使用了Python的tkinter库和requests库:
```python
import tkinter as tk
from tkinter import ttk
import requests
class QA_Dialog:
def __init__(self, master):
# 创建对话框
self.dialog = tk.Toplevel(master)
self.dialog.title("问答系统")
# 创建问题输入框
self.question_label = ttk.Label(self.dialog, text="请输入问题:")
self.question_label.grid(row=0, column=0)
self.question_entry = ttk.Entry(self.dialog, width=50)
self.question_entry.grid(row=0, column=1, columnspan=2)
# 创建回答显示框
self.answer_label = ttk.Label(self.dialog, text="回答:")
self.answer_label.grid(row=1, column=0)
self.answer_text = tk.Text(self.dialog, height=10, width=50)
self.answer_text.grid(row=2, column=0, columnspan=3)
# 创建查询按钮
self.search_button = ttk.Button(self.dialog, text="查询", command=self.search)
self.search_button.grid(row=0, column=3)
# 将对话框设为模态对话框
self.dialog.transient(master)
self.dialog.grab_set()
master.wait_window(self.dialog)
def search(self):
# 向后端的问答系统发送请求
url = "http://localhost:5000/qa"
data = {"question": self.question_entry.get()}
response = requests.post(url, json=data)
# 在回答显示框中显示回答
answer = response.json()["answer"]
self.answer_text.delete("1.0", tk.END)
self.answer_text.insert(tk.END, answer)
if __name__ == "__main__":
# 创建主窗口
root = tk.Tk()
# 创建问答系统对话框
qa_dialog = QA_Dialog(root)
# 进入消息循环
root.mainloop()
```
这个示例代码中,我们创建了一个简单的问答系统对话框,包括一个问题输入框、一个回答显示框和一个查询按钮。当用户点击查询按钮时,程序会向后端的问答系统发送请求,并将返回的回答显示在回答显示框中。这个对话框是一个模态对话框,当它出现时,主窗口将被暂停,直到对话框被关闭。请注意,这里我们使用了requests库向后端的问答系统发送POST请求,并使用JSON格式传递数据。你需要根据自己的具体情况修改代码。