GPT答: |
7i24.cn
|
以下是一个简单的Python自动问答GUI示例:
```python
import tkinter as tk
# 问题和回答的字典
qa_dict = {
"你好": "你好啊!",
"今天天气怎么样?": "今天很晴朗!",
"你喜欢什么颜色?": "我喜欢蓝色。",
# 添加更多问题和回答...
}
def get_answer(question):
"""
根据问题返回相应的回答,如果没有匹配到则返回默认回复。
"""
answer = qa_dict.get(question, "抱歉,我不知道该如何回答。")
return answer
def ask_question():
"""
获取用户输入的问题并显示机器人的回复。
"""
question = input_box.get()
answer = get_answer(question)
output_box.config(state="normal")
output_box.delete("1.0", tk.END)
output_box.insert(tk.END, f"您:{question}\n机器人:{answer}\n\n")
output_box.config(state="disabled")
# 创建GUI窗口
window = tk.Tk()
window.title("自动问答机器人")
# 创建输入框和按钮
input_frame = tk.Frame(window)
input_frame.pack(side=tk.TOP)
input_label = tk.Label(input_frame, text="请输入您的问题:")
input_label.pack(side=tk.LEFT)
input_box = tk.Entry(input_frame, width=50)
input_box.pack(side=tk.LEFT)
ask_button = tk.Button(input_frame, text="提问", command=ask_question)
ask_button.pack(side=tk.LEFT)
# 创建输出框
output_frame = tk.Frame(window)
output_frame.pack(side=tk.TOP)
output_label = tk.Label(output_frame, text="机器人回答:")
output_label.pack(side=tk.TOP)
output_box = tk.Text(output_frame, width=50, height=10)
output_box.config(state="disabled")
output_box.pack(side=tk.BOTTOM)
window.mainloop()
```
在这个示例中,我们首先定义了一个包含问题和回答的字典。然后,我们编写了一个`get_answer()`函数来根据用户输入的问题返回相应的回答。
接下来,我们创建了一个GUI窗口,并在其中添加了一个输入框、提问按钮和输出框。当用户点击“提问”按钮时,程序会调用`ask_question()`函数来获取用户输入的问题并显示机器人的回复。
最后,请注意,在将文本插入到输出框之前,我们必须将其状态设置为“normal”,以便能够编辑它。完成后,请将其状态设置为“disabled”,以防止用户更改内容。
|