请用python编写图形用户界面程序,实现通讯录的增删改查
时间: 2024-12-17 08:51:09 浏览: 14
在Python中,可以使用Tkinter库创建一个基本的图形用户界面(GUI),用于实现通讯录应用的基本功能。下面是一个简单的示例,演示如何使用Tkinter来构建一个包含添加、删除、修改和查询联系人的窗口:
```python
import tkinter as tk
from tkinter import messagebox
class AddressBookApp:
def __init__(self, master):
self.contacts = {} # 存储联系人的字典
# 添加联系人部分
add_frame = tk.Frame(master)
add_name_label = tk.Label(add_frame, text="姓名:")
add_name_entry = tk.Entry(add_frame)
add_phone_label = tk.Label(add_frame, text="电话:")
add_phone_entry = tk.Entry(add_frame)
add_button = tk.Button(add_frame, text="添加", command=self.add_contact)
add_button.pack(side=tk.LEFT)
add_name_label.pack()
add_name_entry.pack()
add_phone_label.pack()
add_phone_entry.pack()
# 删除联系人部分
delete_button = tk.Button(master, text="删除", command=self.delete_contact)
delete_button.pack(side=tk.LEFT)
# 其他功能可以根据需要添加
def add_contact(self):
name = add_name_entry.get()
phone = add_phone_entry.get()
if not name or not phone:
messagebox.showerror("错误", "请输入完整信息")
else:
self.contacts[name] = phone
messagebox.showinfo("成功", f"已添加联系人:{name} - {phone}")
def delete_contact(self):
selected_name = tk.simpledialog.askstring("删除确认", "请输入要删除的联系人名字")
if selected_name and selected_name in self.contacts:
del self.contacts[selected_name]
messagebox.showinfo("成功", f"{selected_name} 已从通讯录中移除")
else:
messagebox.showerror("错误", "未找到该联系人")
# 主函数
def main():
root = tk.Tk()
app = AddressBookApp(root)
root.mainloop()
if __name__ == "__main__":
main()
```
这个程序创建了一个主窗口,有添加联系人和删除联系人的按钮。点击添加按钮时,会弹出输入框让用户输入姓名和电话,然后将数据保存到`contacts`字典中。删除按钮则通过提示框询问用户要删除的联系人名字。
阅读全文