改进代码 import tkinter as tk # 导入 Tkinter 模块 class ChatBot: def __init__(self, master): self.master = master master.title('AI Chatbot') self.create_widgets() def create_widgets(self): # 创建输入文本框和按钮 self.input_entry = tk.Entry(self.master, width=50) self.input_entry.pack(side=tk.LEFT, padx=10, pady=10) self.submit_button = tk.Button(self.master, text='Submit', command=self.on_button_click) self.submit_button.pack(side=tk.LEFT) # 创建输出文本框 self.output_textbox = tk.Text(self.master, width=50, height=20) self.output_textbox.pack(side=tk.LEFT, padx=10, pady=10) def process_input(self, input_text): # 对用户输入进行解析,并生成回答 # ... return output_text def on_button_click(self): input_text = self.input_entry.get() # 获取用户输入的文本 output_text = self.process_input(input_text) # 处理用户输入的文本 self.output_textbox.insert(tk.END, 'You: {}\n'.format(input_text)) # 在文本框中显示用户输入的内容 self.output_textbox.insert(tk.END, 'AI: {}\n\n'.format(output_text)) # 在文本框中显示 AI 的回答 # 创建主窗口 root = tk.Tk() chat_bot = ChatBot(root) # 进入 Tkinter 主循环 root.mainloop()
时间: 2024-01-03 22:03:23 浏览: 29
代码已经很不错了,但是可以考虑添加一些错误处理和用户友好的提示信息。以下是改进后的代码:
```
import tkinter as tk # 导入 Tkinter 模块
class ChatBot:
def __init__(self, master):
self.master = master
master.title('AI Chatbot')
self.create_widgets()
def create_widgets(self):
# 创建输入文本框和按钮
self.input_entry = tk.Entry(self.master, width=50)
self.input_entry.pack(side=tk.LEFT, padx=10, pady=10)
self.submit_button = tk.Button(self.master, text='Submit', command=self.on_button_click)
self.submit_button.pack(side=tk.LEFT)
# 创建输出文本框
self.output_textbox = tk.Text(self.master, width=50, height=20)
self.output_textbox.pack(side=tk.LEFT, padx=10, pady=10)
def process_input(self, input_text):
# 对用户输入进行解析,并生成回答
# ...
return output_text
def on_button_click(self):
input_text = self.input_entry.get().strip() # 获取用户输入的文本并去除空格
if not input_text: # 如果用户没有输入文本,弹出提示框
tk.messagebox.showerror('Error', 'Please enter some text.')
return
output_text = self.process_input(input_text) # 处理用户输入的文本
self.output_textbox.insert(tk.END, 'You: {}\n'.format(input_text)) # 在文本框中显示用户输入的内容
self.output_textbox.insert(tk.END, 'AI: {}\n\n'.format(output_text)) # 在文本框中显示 AI 的回答
self.input_entry.delete(0, tk.END) # 清空输入框
# 创建主窗口
root = tk.Tk()
chat_bot = ChatBot(root)
# 进入 Tkinter 主循环
root.mainloop()
```
改进后的代码中,添加了以下改进:
1. 添加了对用户没有输入文本的情况的错误处理和提示信息。
2. 在用户提交文本后,清空输入框,方便用户继续输入。