应用python的GUI库tkinter设计如上图所示的通讯录。数据来源于CSV文件。
时间: 2024-03-23 19:39:09 浏览: 50
好的,我会尽力回答您的问题。
首先,您需要使用Python的csv模块读取CSV文件中的数据。然后,您可以使用tkinter创建一个GUI应用程序,并将数据填充到表格中。最后,您需要实现添加、编辑和删除联系人的功能。
以下是一个简单的示例代码,帮助您开始:
```python
import csv
import tkinter as tk
from tkinter import ttk
class ContactList:
def __init__(self, master):
self.master = master
self.master.title("通讯录")
# 创建表格
self.tree = ttk.Treeview(self.master, columns=("姓名", "电话", "邮箱"))
self.tree.heading("#0", text="编号")
self.tree.heading("姓名", text="姓名")
self.tree.heading("电话", text="电话")
self.tree.heading("邮箱", text="邮箱")
self.tree.pack()
# 读取CSV文件中的数据并填充到表格中
with open('contacts.csv', newline='') as csvfile:
reader = csv.reader(csvfile)
next(reader) # 跳过标题行
for i, row in enumerate(reader, start=1):
self.tree.insert("", "end", text=i, values=row)
# 创建按钮
self.add_button = tk.Button(self.master, text="添加联系人", command=self.add_contact)
self.edit_button = tk.Button(self.master, text="编辑联系人", command=self.edit_contact)
self.delete_button = tk.Button(self.master, text="删除联系人", command=self.delete_contact)
self.add_button.pack(side="left")
self.edit_button.pack(side="left")
self.delete_button.pack(side="left")
def add_contact(self):
# 实现添加联系人的功能
pass
def edit_contact(self):
# 实现编辑联系人的功能
pass
def delete_contact(self):
# 实现删除联系人的功能
pass
if __name__ == '__main__':
root = tk.Tk()
app = ContactList(root)
root.mainloop()
```
在这个例子中,我们使用了tkinter的Treeview小部件来创建表格,使用csv模块读取了CSV文件中的数据,并将数据填充到表格中。我们还创建了三个按钮,用于添加、编辑和删除联系人。但是,我们还需要实现这些按钮的功能。您可以在add_contact,edit_contact和delete_contact方法中添加代码来实现这些按钮的功能。
希望这个例子能够帮助您开始设计您自己的通讯录应用程序。
阅读全文