python实现基于GUI的通讯录管理系统并且不插入图片在运行界面实现绘制字母
时间: 2024-03-29 17:34:13 浏览: 56
可以使用Python自带的Tkinter库来实现基于GUI的通讯录管理系统,并且可以在运行界面中实现绘制字母。以下是一个简单的示例代码:
```python
import tkinter as tk
class ContactList:
def __init__(self, master):
self.master = master
master.title("Contact List")
# 创建字母按钮
self.letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
for i in range(len(self.letters)):
letter_btn = tk.Button(master, text=self.letters[i], width=2, command=lambda letter=self.letters[i]: self.show_contacts(letter))
letter_btn.grid(row=0, column=i)
# 创建联系人列表
self.contacts = {'A': ['Alice', 'Andy'], 'B': ['Bob', 'Bill'], 'C': ['Charlie', 'Cindy']}
self.contact_list = tk.Listbox(master)
self.contact_list.grid(row=1, column=0, columnspan=len(self.letters))
def show_contacts(self, letter):
# 显示以指定字母开头的联系人
self.contact_list.delete(0, tk.END)
if letter in self.contacts:
for contact in self.contacts[letter]:
self.contact_list.insert(tk.END, contact)
# 创建主窗口
root = tk.Tk()
app = ContactList(root)
root.mainloop()
```
在这个示例代码中,我们创建了一个名为`ContactList`的类来管理通讯录。在类的构造函数中,我们创建了字母按钮和联系人列表。字母按钮的回调函数`show_contacts`会根据用户选择的字母来显示对应的联系人。联系人列表使用`Listbox`控件来展示联系人。在`show_contacts`函数中,我们首先清空联系人列表,然后根据选择的字母从`self.contacts`字典中获取对应的联系人列表,并使用`insert`方法将它们插入到联系人列表中。
要运行这个GUI程序,只需将代码复制粘贴到Python文件中,保存并运行即可。在运行界面中,你应该可以看到一个包含所有字母按钮和联系人列表的窗口。当你点击任何一个字母按钮时,联系人列表会显示以该字母开头的联系人。在运行界面中绘制字母的技巧是使用Tkinter库中的`Button`控件,并设置其`text`参数为对应的字母。
阅读全文