Python 实例:手机通讯录(使用GUI图形界面并用text文本记录数据)

在使用text文本的通讯录的基础之上进行了改进
使用GUI图形界面
之后打算再研究一下用数据库记录数据
上篇的通讯录PythonPython 实例:手机通讯录(使用text文本记录数据)
下面是运行截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
还有很多细节就不一,一演示了
单纯应付一下期末的作业
代码直接复制粘贴运行就可以使用了

import os
import tkinter
import json
import tkinter.messagebox

class MainForm:
    def __init__(self):
        root = tkinter.Tk()# 根窗体
        # 标题名称
        root.title('通讯录')
        # 设置窗体初始大小
        root.geometry("650x550")
        # 设置窗体不可拉升
        root.resizable(width=False, height=False)

        # 添加新联系人
        def handler_1(event):
            def newinfo(event):
                name = name_str.get()
                phone = phone_num.get()
                mail = mail_adr.get()
                address = adr_str.get()
                if name==""or phone==" " or mail==" " or address==" ":
                    tkinter.messagebox.showerror('错误', '所填信息都不能为空')
                else:
                    card_dict = {
   "姓名": name, "手机号": phone,
                                 "邮箱": mail, "地址": address}
                    f = open("通讯录.txt", mode='a+', encoding='utf-8')

                    # 将字典转换为str,然后再使用write()写入到通讯录的文本文件中
                    f.write(str(card_dict) + '\n')
                    f.close()
                    tkinter.messagebox.showinfo('消息提示框',f'添加“{
     name}“为联系人成功!')
                    # 注册成功关闭注册框
                    window_add.destroy()
            # 新建注册界面
            window_add = tkinter.Toplevel(root)
            window_add.geometry('300x300')
            window_add.title('注册')
            #姓名
            name_str = tkinter.StringVar()
            tkinter.Label(window_add, text='请输入姓  名:').place(x=10, y=10)
            tkinter.Entry(window_add, textvariable=name_str).place(x=110, y=10)
            #手机号
            phone_num = tkinter.StringVar()
            tkinter.Label(window_add, text='请输入手机号:').place(x=10, y=50)
            tkinter.Entry(window_add, textvariable=phone_num).place(x=110, y=50)
            #邮箱
            mail_adr = tkinter.StringVar()
            tkinter.Label(window_add, text='请输入邮  箱:').place(x=10, y=90)
            tkinter.Entry(window_add, textvariable=mail_adr).place(x=110, y=90)
            #地址
            adr_str= tkinter.StringVar()
            tkinter.Label(window_add, text='请输入地  址:').place(x=10, y=130)
            tkinter.Entry(window_add, textvariable=adr_str).place(x=110, y=130)
            # 确认注册按钮及位置
            confirm_button = tkinter.Button(window_add, text='确认添加',font=('黑体',15,'bold'))
            confirm_button.bind("<Button-1>",newinfo)
            confirm_button.place(x=100, y=180)

        # 查看联系人
        def handler_2(event):
            # 窗体设置
            window_all = tkinter.Toplevel(root)
            window_all.geometry('600x400')
            window_all.title
  • 17
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
抱歉,我是AI语言模型,无法提供完整的python通讯录代码。但是,以下是一个简单的python通讯录代码示例,可以帮助您开始编写自己的通讯录应用程序: ```python # 定义一个空字典,用于存储联系人信息 contacts = {} # 添加联系人 def add_contact(name, phone): contacts[name] = phone print(f"{name} 已添加到通讯录") # 删除联系人 def delete_contact(name): if name in contacts: del contacts[name] print(f"{name} 已从通讯录中删除") else: print(f"{name} 不在通讯录中") # 更新联系人手机号码 def update_phone(name, phone): if name in contacts: contacts[name] = phone print(f"{name} 的手机号码已更新为 {phone}") else: print(f"{name} 不在通讯录中") # 查找联系人 def find_contact(name): if name in contacts: print(f"{name} 的手机号码是 {contacts[name]}") else: print(f"{name} 不在通讯录中") # 列出所有联系人 def list_contacts(): if len(contacts) == 0: print("通讯录是空的") else: for name, phone in contacts.items(): print(f"{name}: {phone}") # 主程序 while True: print("\n选择一个选项:") print("1. 添加联系人") print("2. 删除联系人") print("3. 更新联系人手机号码") print("4. 查找联系人") print("5. 列出所有联系人") print("6. 退出程序") choice = input("> ") if choice == "1": name = input("请输入联系人姓名:") phone = input("请输入手机号码:") add_contact(name, phone) elif choice == "2": name = input("请输入要删除的联系人姓名:") delete_contact(name) elif choice == "3": name = input("请输入要更新的联系人姓名:") phone = input("请输入新的手机号码:") update_phone(name, phone) elif choice == "4": name = input("请输入要查找的联系人姓名:") find_contact(name) elif choice == "5": list_contacts() elif choice == "6": print("程序已退出") break else: print("无效的选项,请重新选择") ``` 注意,这只是一个简单的示例,可以根据您的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值