python写的gui通讯录查询系统
时间: 2023-09-19 13:11:47 浏览: 170
好的,你需要一个GUI界面和一个数据库来存储联系人信息。以下是一个简单的实现:
1. 首先,你需要安装Python的图形用户界面库,如Tkinter或PyQt。这里我们使用Tkinter。
2. 创建一个GUI窗口,包括标签、文本框、按钮等元素。为了查询联系人信息,你需要一个输入框来输入关键字。
3. 创建一个数据库,用于存储联系人信息。你可以使用SQLite,它是一个轻量级数据库,适合小型应用程序。
4. 在数据库中创建一个表,用于存储联系人信息,包括姓名、电话号码、电子邮件等字段。
5. 在GUI中添加一个按钮,用于执行查询操作。当用户点击该按钮时,程序将从数据库中检索联系人信息,并将结果显示在GUI中。
下面是一些示例代码,帮助你开始编写一个基本的通讯录查询系统:
```python
import tkinter as tk
import sqlite3
# 创建GUI窗口
window = tk.Tk()
window.title("通讯录查询系统")
# 创建标签和文本框
tk.Label(window, text="关键字:").grid(row=0, column=0)
keyword_entry = tk.Entry(window)
keyword_entry.grid(row=0, column=1)
# 创建按钮
search_btn = tk.Button(window, text="查询")
search_btn.grid(row=0, column=2)
# 创建列表框
listbox = tk.Listbox(window)
listbox.grid(row=1, column=0, columnspan=3)
# 连接到数据库
conn = sqlite3.connect('contacts.db')
c = conn.cursor()
# 创建联系人信息表
c.execute('''CREATE TABLE IF NOT EXISTS contacts
(name text, phone text, email text)''')
# 查询联系人信息
def search_contacts():
keyword = keyword_entry.get()
c.execute("SELECT * FROM contacts WHERE name LIKE ?", ('%'+keyword+'%',))
results = c.fetchall()
listbox.delete(0, tk.END)
for row in results:
listbox.insert(tk.END, row)
# 绑定按钮和查询操作
search_btn.config(command=search_contacts)
# 运行窗口循环
window.mainloop()
# 关闭数据库连接
conn.close()
```
在此示例中,我们首先创建了一个GUI窗口和一些元素,然后连接到SQLite数据库并创建联系人信息表。在查询操作中,我们从输入框中获取关键字,并使用LIKE运算符在数据库中搜索匹配的联系人信息。最后,我们将结果显示在列表框中。
请注意,此示例仅为演示用途,并未完全实现一个完整的通讯录查询系统。你需要进一步优化程序以实现更多功能,如添加、编辑和删除联系人信息等。
阅读全文