名片管理系统python用tkinter
时间: 2023-07-18 17:30:05 浏览: 83
python中的餐厅管理系统(tkinter),使用模块tkinter的python大学生基于GUI的项目。.zip
5星 · 资源好评率100%
好的,名片管理系统是一个比较典型的小型项目,使用 Python 和 Tkinter 库实现也很容易。下面是一个简单的名片管理系统的示例代码:
```python
import tkinter as tk
class Card:
def __init__(self, name, phone, email):
self.name = name
self.phone = phone
self.email = email
class CardManager:
def __init__(self):
self.cards = []
def add_card(self, card):
self.cards.append(card)
def remove_card(self, card):
self.cards.remove(card)
def search_card(self, name):
for card in self.cards:
if card.name == name:
return card
return None
class App:
def __init__(self, master):
self.master = master
self.card_manager = CardManager()
self.create_widgets()
def create_widgets(self):
# Create name label and entry
name_label = tk.Label(self.master, text="Name:")
name_label.grid(row=0, column=0)
self.name_entry = tk.Entry(self.master)
self.name_entry.grid(row=0, column=1)
# Create phone label and entry
phone_label = tk.Label(self.master, text="Phone:")
phone_label.grid(row=1, column=0)
self.phone_entry = tk.Entry(self.master)
self.phone_entry.grid(row=1, column=1)
# Create email label and entry
email_label = tk.Label(self.master, text="Email:")
email_label.grid(row=2, column=0)
self.email_entry = tk.Entry(self.master)
self.email_entry.grid(row=2, column=1)
# Create buttons
add_button = tk.Button(self.master, text="Add", command=self.add_card)
add_button.grid(row=3, column=0)
search_button = tk.Button(self.master, text="Search", command=self.search_card)
search_button.grid(row=3, column=1)
remove_button = tk.Button(self.master, text="Remove", command=self.remove_card)
remove_button.grid(row=3, column=2)
# Create listbox
self.listbox = tk.Listbox(self.master)
self.listbox.grid(row=4, column=0, columnspan=3)
def add_card(self):
name = self.name_entry.get()
phone = self.phone_entry.get()
email = self.email_entry.get()
card = Card(name, phone, email)
self.card_manager.add_card(card)
self.listbox.insert(tk.END, card.name)
def search_card(self):
name = self.name_entry.get()
card = self.card_manager.search_card(name)
if card is not None:
self.phone_entry.delete(0, tk.END)
self.phone_entry.insert(0, card.phone)
self.email_entry.delete(0, tk.END)
self.email_entry.insert(0, card.email)
def remove_card(self):
name = self.name_entry.get()
card = self.card_manager.search_card(name)
if card is not None:
self.card_manager.remove_card(card)
self.listbox.delete(tk.ACTIVE)
self.name_entry.delete(0, tk.END)
self.phone_entry.delete(0, tk.END)
self.email_entry.delete(0, tk.END)
if __name__ == "__main__":
root = tk.Tk()
app = App(root)
root.mainloop()
```
这个名片管理系统使用了三个类:`Card` 类表示一个名片,`CardManager` 类管理所有名片,`App` 类是 Tkinter 的应用程序类,用于创建名片管理系统的 GUI 界面。
在 GUI 界面中,有三个文本框和三个按钮。当用户点击“Add”按钮时,程序会将文本框中的信息添加到名片列表中,并将名字显示在列表框中。当用户点击“Search”按钮时,程序会在名片列表中查找匹配的名片,并将电话号码和电子邮件地址显示在相应的文本框中。当用户点击“Remove”按钮时,程序会从名片列表中删除选定的名片,并将相应的文本框清空。
这只是一个简单的示例,你可以根据自己的需求对其进行扩展和修改。
阅读全文