修改代码,利用python实现增添好友的功能 add_button = tk.Button(add_window, text="添加好友", font=("黑体", 12), command=confirm) add_button.place(x=100, y=80) def confirm(): friend_name = name_entry.get() if friend_name: msg = 'add_friend:' + user + friend_name s.send(msg.encode('utf-8')) res = s.recv(1024).decode('utf-8') if res.startswith('Error:'): messagebox.showerror('Error', res) else: messagebox.showinfo('Success', '添加好友成功') add_window.destroy() else: messagebox.showerror('Error', '请输入好友用户名') friends.append(friend_name) print(friends) update_friend_list()
时间: 2023-11-30 09:04:13 浏览: 148
以下是修改过的代码,实现了添加好友的功能:
```
def add_friend():
friend_name = simpledialog.askstring('添加好友', '请输入好友的用户名')
if friend_name:
msg = 'add_friend:' + user + friend_name
s.send(msg.encode('utf-8'))
res = s.recv(1024).decode('utf-8')
if res.startswith('Error:'):
messagebox.showerror('Error', res)
else:
messagebox.showinfo('Success', '添加好友成功')
friends.append(friend_name)
update_friend_list()
add_button = tk.Button(add_window, text="添加好友", font=("黑体", 12), command=add_friend)
add_button.place(x=100, y=80)
def update_friend_list():
friend_listbox.delete(0, tk.END)
for friend in friends:
friend_listbox.insert(tk.END, friend)
```
这段代码实现了一个名为`add_friend`的函数,用于弹出一个对话框,让用户输入好友的用户名。如果用户输入了好友的用户名,则将这个用户名和当前用户的用户名拼接成一个消息,发送给服务器。等待服务器的回复,如果回复以"Error:"开头,则弹出一个对话框显示错误信息;否则,弹出一个对话框显示添加好友成功的信息。同时,将好友的用户名添加到一个列表中,再调用`update_friend_list`方法更新好友列表的显示。
修改后的代码使用了`simpledialog`库中的`askstring`方法,用于弹出一个简单的输入对话框,让用户输入好友的用户名。同时,将原来的`confirm`方法改名为`add_friend`,并将其直接绑定到“添加好友”按钮的`command`属性,这样用户点击按钮时就会直接调用`add_friend`方法。
阅读全文