我要让他显示再datagridview里面
时间: 2024-05-06 21:16:17 浏览: 13
可以将ChitGPT返回的对话文本存储到一个列表中,然后将这个列表绑定到DataGridView控件上。以下是一个基本的示例代码:
```python
import tkinter as tk
from tkinter import ttk
import chitgpt
class ChatbotApp:
def __init__(self, master):
self.master = master
master.title("ChitGPT Chatbot")
# 创建一个空的列表,用于存储对话文本
self.conversation = []
# 创建一个Grid布局
self.grid = ttk.Frame(master, padding="3 3 12 12")
self.grid.grid(column=0, row=0, sticky=(tk.N, tk.W, tk.E, tk.S))
self.grid.columnconfigure(0, weight=1)
self.grid.rowconfigure(0, weight=1)
# 创建一个文本框用于显示对话
self.conversation_display = tk.Text(self.grid, state="disabled", wrap="word", height=20)
self.conversation_display.grid(column=0, row=0, sticky=(tk.N, tk.W, tk.E, tk.S))
# 创建一个输入框用于输入对话
self.input_box = ttk.Entry(self.grid, width=50)
self.input_box.grid(column=0, row=1, sticky=(tk.W, tk.E))
# 创建一个按钮用于发送对话
self.send_button = ttk.Button(self.grid, text="Send", command=self.send_message)
self.send_button.grid(column=1, row=1, sticky=(tk.E))
# 绑定回车键和发送对话函数
master.bind('<Return>', self.send_message)
master.bind('<KP_Enter>', self.send_message)
# 创建一个ChitGPT实例
self.chatbot = chitgpt.Chatbot()
def send_message(self, *args):
# 获取用户输入
message = self.input_box.get()
# 将用户输入添加到对话列表中
self.conversation.append("You: " + message)
# 通过ChitGPT获取AI的回复
response = self.chatbot.get_response(message)
# 将AI的回复添加到对话列表中
self.conversation.append("AI: " + response)
# 清空输入框
self.input_box.delete(0, tk.END)
# 在文本框中显示对话
self.conversation_display.configure(state="normal")
self.conversation_display.insert(tk.END, "\n".join(self.conversation[-2:]) + "\n")
self.conversation_display.configure(state="disabled")
# 更新列表到DataGridView
self.update_datagridview()
def update_datagridview(self):
# 清空DataGridView
self.datagridview.delete(*self.datagridview.get_children())
# 添加对话到DataGridView
for i, line in enumerate(self.conversation):
self.datagridview.insert("", "end", values=(i+1, line))
if __name__ == '__main__':
root = tk.Tk()
app = ChatbotApp(root)
root.mainloop()
```
在这个示例代码中,我们创建了一个空的列表`self.conversation`,用于存储对话文本。每次用户发送一条消息,我们会将其添加到这个列表中,并通过`ChitGPT`获取AI的回复,将其也添加到列表中。然后,我们通过`update_datagridview`函数更新DataGridView控件。
注意,以上示例代码只是一个基本示例,您可以根据自己的需求进行修改和扩展。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)