在python中使用tkinter实现简单的通讯录功能
时间: 2024-06-12 17:04:51 浏览: 21
以下是使用tkinter实现简单通讯录功能的示例代码:
```python
import tkinter as tk
class Contact:
def __init__(self, name, phone):
self.name = name
self.phone = phone
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.contacts = []
self.create_widgets()
def create_widgets(self):
self.name_label = tk.Label(self.master, text="Name:")
self.name_label.grid(row=0, column=0)
self.name_entry = tk.Entry(self.master)
self.name_entry.grid(row=0, column=1)
self.phone_label = tk.Label(self.master, text="Phone:")
self.phone_label.grid(row=1, column=0)
self.phone_entry = tk.Entry(self.master)
self.phone_entry.grid(row=1, column=1)
self.add_button = tk.Button(self.master, text="Add Contact", command=self.add_contact)
self.add_button.grid(row=2, column=0)
self.listbox = tk.Listbox(self.master)
self.listbox.grid(row=3, column=0, columnspan=2)
self.delete_button = tk.Button(self.master, text="Delete Contact", command=self.delete_contact)
self.delete_button.grid(row=4, column=0)
self.quit_button = tk.Button(self.master, text="Quit", command=self.master.quit)
self.quit_button.grid(row=4, column=1)
def add_contact(self):
name = self.name_entry.get()
phone = self.phone_entry.get()
if name and phone:
contact = Contact(name, phone)
self.contacts.append(contact)
self.listbox.insert(tk.END, f"{contact.name} ({contact.phone})")
self.name_entry.delete(0, tk.END)
self.phone_entry.delete(0, tk.END)
def delete_contact(self):
selection = self.listbox.curselection()
if selection:
index = selection[0]
contact = self.contacts[index]
self.listbox.delete(index)
self.contacts.remove(contact)
root = tk.Tk()
app = Application(master=root)
app.mainloop()
```
该程序创建了一个`Contact`类来表示每个通讯录条目,并使用`Listbox`小部件来显示所有通讯录条目的名称和电话号码。
用户可以使用`Entry`小部件输入名称和电话号码,并使用`Add Contact`按钮将它们添加到通讯录中。用户也可以使用`Delete Contact`按钮删除选定的通讯录条目。
程序还包括一个`Quit`按钮,以便用户可以退出应用程序。
注意:该程序仅实现了一个简单的通讯录功能,并且没有保存通讯录条目。在实际应用中,您需要将通讯录条目保存到文件或数据库中。