online_list = tkinter.Listbox(root,font=("黑体",12)) online_list.place(x=605,y=0,width=130,height=320) #增删好友 online_list = tkinter.Listbox(root,font=("黑体",12)) online_list.place(x=735,y=0,width=130,height=320) friend_list = [] def add_friend(): friend_name = simpledialog.askstring("添加好友", "请输入好友的昵称:") if friend_name: if friend_name not in friend_list: friend_list.append(friend_name) online_list.insert(tkinter.END, friend_name) print("添加成功!") else: print("该用户已经是你的好友!") button = tkinter.Button(root, text='添加好友', command=add_friend, font=("微软雅黑", 14), bg="#0099ff", fg="#fff", activebackground="#ff6600") button.place(x=635, y=320, width=100, height=30)
时间: 2023-12-14 17:03:01 浏览: 145
你的代码中有两个 `online_list`,他们的位置和大小都相同,可能会导致显示上的混乱。如果你想要在同一个窗口中显示两个好友列表,你可以将它们放在不同的 `Frame` 中,这样就可以分别对它们进行管理。
以下是代码示例:
```python
# 创建 Frame1
frame1 = tkinter.Frame(root)
frame1.place(x=605, y=0, width=130, height=320)
# 在 Frame1 中创建列表框 listbox1
listbox1 = tkinter.Listbox(frame1, font=("黑体", 12))
listbox1.pack(fill=tkinter.BOTH, expand=True)
# 创建 Frame2
frame2 = tkinter.Frame(root)
frame2.place(x=735, y=0, width=130, height=320)
# 在 Frame2 中创建列表框 listbox2
listbox2 = tkinter.Listbox(frame2, font=("黑体", 12))
listbox2.pack(fill=tkinter.BOTH, expand=True)
# 增删好友
friend_list = []
def add_friend():
friend_name = simpledialog.askstring("添加好友", "请输入好友的昵称:")
if friend_name:
if friend_name not in friend_list:
friend_list.append(friend_name)
listbox2.insert(tkinter.END, friend_name)
print("添加成功!")
else:
print("该用户已经是你的好友!")
button = tkinter.Button(root, text='添加好友', command=add_friend, font=("微软雅黑", 14), bg="#0099ff", fg="#fff", activebackground="#ff6600")
button.place(x=635, y=320, width=100, height=30)
```
在这个例子中,我们创建了两个 `Frame`,每个 `Frame` 中都包含一个 `Listbox` 控件。这样可以让你在同一个窗口中显示两个好友列表,而不会发生位置和大小上的冲突。在 `add_friend` 函数中,我们将新的好友昵称添加到 `listbox2` 中,而不是添加到 `online_list` 中。
阅读全文