python实现名片管理系统(界面+数据库)

开发一个简单的信息管理系统(类似于前面的名片管理系统),要求:
1.用结构化方法或面向对象开发方法开发系统
2.有图形用户界面
3.用数据库存储数据
4.用python语言实现系统

部分功能如下图

进入时的界面
显示所有名片后的界面
新建名片功能

新建成功

查找名片里包含(修改名片和删除名片)

具体代码如下

import sys
from tkinter import *
from tkinter.messagebox import *
from tkinter import ttk
import sqlite3con = sqlite3.connect(r"D:\Python练习\作业\12月6日python\card.db")
#con.execute("create table card(name primary key ,phone,QQ,email)")#新增名片
def add():add = Tk()add.geometry('260x140+350+200')add.minsize(260, 140)add.maxsize(260, 140)add.title("新建名片")lf = LabelFrame(add,text="请 输 入 :",labelanchor=N)lf.pack()Label(lf, text="姓 名:").grid(row=0,column=0)Label(lf, text="电 话:").grid(row=1,column=0)Label(lf, text="Q Q:").grid(row=2, column=0)Label(lf, text="Email:").grid(row=3, column=0)name = Entry(lf)name.grid(row=0,column=1,columnspan=2)phone = Entry(lf)phone.grid(row=1,column=1,columnspan=2)qq = Entry(lf)qq.grid(row=2,column=1,columnspan=2)email = Entry(lf)email.grid(row=3,column=1,columnspan=2)#确定按钮添加数据def qd_event():try:if name.get()=="":showinfo(title="提示", message="姓名不能为空!")add.destroy()else:con = sqlite3.connect(r"D:\Python练习\作业\12月6日python\card.db")cardList = (name.get(),phone.get(),qq.get(),email.get())con.execute("insert into card(name,phone,QQ,email) values (?,?,?,?)",cardList)#card = {"姓名":name.get(),"电话":phone.get(),"QQ":qq.get(),"Email":email.get()}#card_list.append(card)con.commit()con.close()add.destroy()show_all()#save_data()showinfo(title="提示", message="新建名片成功!")except:print("error occur")showinfo(title="警告", message="姓名不能重复!")#取消按钮def qx_event():add.destroy()Button(lf,text=" 确  定 ",command=qd_event).grid(row=4,column=2,sticky=W)Button(lf,text=" 取  消 ",command=qx_event).grid(row=4,column=1,sticky=E)#显示所有
def show_all():x=dataTreeview.get_children()for item in x:dataTreeview.delete(item)con = sqlite3.connect(r"D:\Python练习\作业\12月6日python\card.db")cur = con.execute("select * from card")for i in cur:print(i)n=0#dataTreeview.insert('', 1, values=("1","2","3","4"))dataTreeview.insert('',n, values=i)n+=1   #清空数据
def del_all():x=dataTreeview.get_children()for item in x:dataTreeview.delete(item)#查询名片
def search_card():search = Tk()search.geometry('240x50+450+300')search.minsize(240, 80)search.maxsize(400, 170)search.title("查找名片")lf = LabelFrame(search, text="请 输 入 :", labelanchor=N)lf.pack()Label(lf, text="姓 名:").grid(row=0, column=0)name = Entry(lf)name.grid(row=0, column=1, columnspan=2)#print(name.get())def sure():con = sqlite3.connect(r"D:\Python练习\作业\12月6日python\card.db")cur = con.execute("select * from card")for i in cur:#print(i)#print(name.get())#print(name.get()==i[0])if name.get() == i[0]:print("查找成功")#print(i[0])update(i[0])search.destroy()breakelse:showinfo(title="提示",message="没有找到!")Button(lf, text="查找", command=sure).grid(row=1, column=1, sticky=N)#修改名片
def update(n):update = Tk()update.geometry('400x170+350+200')update.minsize(400, 170)update.maxsize(400, 170)update.title("查找名片")lf1 = LabelFrame(update, text="名片信息",labelanchor=N)lf1.pack()Label(lf1, text="姓 名:").grid(row=0, column=0)Label(lf1, text="电 话:").grid(row=1, column=0)Label(lf1, text="Q Q:").grid(row=2, column=0)Label(lf1, text="Email:").grid(row=3, column=0)con = sqlite3.connect(r"D:\Python练习\作业\12月6日python\card.db")print(n+"好靓仔")cur = con.execute("select * from card where name =="+"'"+n+"'")print("'"+n+"'")for i in cur:print(i[0]+i[1]+i[2]+i[3])Label(lf1, text=i[0], width=20, anchor=W).grid(row=0, column=1, columnspan=2)Label(lf1, text=i[1], width=20, anchor=W).grid(row=1, column=1, columnspan=2)Label(lf1, text=i[2], width=20, anchor=W).grid(row=2, column=1, columnspan=2)Label(lf1, text=i[3], width=20, anchor=W).grid(row=3, column=1, columnspan=2)name = Entry(lf1)name.grid(row=0, column=3, columnspan=2)phone = Entry(lf1)phone.grid(row=1, column=3, columnspan=2)qq = Entry(lf1)qq.grid(row=2, column=3, columnspan=2)email = Entry(lf1)email.grid(row=3, column=3, columnspan=2)Label(lf1,text="提示!修改名片在空白处输入确认修改即可",anchor=E).grid(row=4, column=0, columnspan=3)def xg_event(n):print(n)print(name.get()) con = sqlite3.connect(r"D:\Python练习\作业\12月6日python\card.db")con.execute("update card set name=?,phone=?,qq=?,email=? where name ="+"'"+n+"'",(name.get(),phone.get(),qq.get(),email.get()))con.commit()con.close()update.destroy()show_all()#删除名片def delete(n):con = sqlite3.connect(r"D:\Python练习\作业\12月6日python\card.db")con.execute("delete from card where name ="+"'"+n+"'")con.commit()con.close()show_all()showinfo(title="提示", message="已删除!")update.destroy()Button(lf1, text="修 改", command=lambda: xg_event(n)).grid(row=5, column=2, sticky=E)Button(lf1, text="删 除", command=lambda: delete(n)).grid(row=5, column=1, sticky=E)#退出系统
def quit():root.destroy()def about():showinfo(title="关于我们",message="卡片管理系统\n版本号:V4.0 \n作者:华浩新\n完成日期:2019年12月18日")#创建一个Tk根窗口组件root
root=Tk()
root.title("名片管理系统")
root["width"]=800
root["height"]=500#系统管理菜单栏
mubar=Menu(root)
muLogin=Menu(mubar,tearoff=0)
mubar.add_cascade(label="系统管理",menu=muLogin)
muLogin.add_command(label="加载数据",command=show_all)
muLogin.add_command(label="清空数据",command=del_all)
tc=muLogin.add_command(label="退出",command=quit)#名片管理菜单栏
muCard=Menu(mubar,tearoff=0)
mubar.add_cascade(label="名片管理",menu=muCard)
muCard.add_command(label="显示所有",command=show_all)
root.bind("<Button-1>,")
muCard.add_command(label="新建",command=add)
muCard.add_command(label="查找",command=search_card)
muCard.add_command(label="保存")#帮助菜单栏
muHelp=Menu(mubar,tearoff=0)
mubar.add_cascade(label="帮助",menu=muHelp)
muHelp.add_command(label="关于",command=about)
t=Text(root,width=100,height=30)
t.pack()dataTreeview = ttk.Treeview(root, height=19,show='headings', column=('name', 'phone', 'QQ', 'email'))
dataTreeview.column('name', width=80, anchor="center")
dataTreeview.column('phone', width=80, anchor="center")
dataTreeview.column('QQ', width=80, anchor="center")
dataTreeview.column('email', width=80, anchor="center")dataTreeview.heading('name', text='姓名')
dataTreeview.heading('phone', text='电话')
dataTreeview.heading('QQ', text='QQ')
dataTreeview.heading('email', text='邮箱')
dataTreeview.place(rely=0, relwidth=1)
Label(root, text='名片管理系统V4.0', bg='white', fg='blue', font=('宋体', 15)).pack(side=BOTTOM, fill='x')root["menu"]=mubar
root.mainloop()

python实现名片管理系统(界面+数据库)相关推荐

  1. python名片管理教程_使用python实现名片管理系统

    python实现名片管理系统(界面+数据库) 开发一个简单的信息管理系统(类似于前面的名片管理系统),要求: 1.用结构化方法或面向对象开发方法开发系统 2.有图形用户界面 3.用数据库存储数据 4. ...

  2. 用python完成名片信息的打印_使用python实现名片管理系统

    python实现名片管理系统(界面+数据库) 开发一个简单的信息管理系统(类似于前面的名片管理系统),要求: 1.用结构化方法或面向对象开发方法开发系统 2.有图形用户界面 3.用数据库存储数据 4. ...

  3. python学生信息管理系统心得体会-python实现名片管理系统

    本文实例为大家分享了python实现名片管理系统的具体代码,供大家参考,具体内容如下 系统需求 程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ************************** ...

  4. python写名片管理系统_Python实现名片管理系统

    本文实例为大家分享了Python实现名片管理系统的具体代码,供大家参考,具体内容如下 目标 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 系统需求 1. 程序启动,显示名片管理系统欢迎界面 ...

  5. Python版名片管理系统源代码

    Python版名片管理系统,功能: 新增名片(记录用户的姓名,电话,QQ,邮箱): 显示所有名片: 查询名片: 查询成功后可以修改,删除名片 运行截图: cards_main.py :程序的入口,完整 ...

  6. python快速编程入门课本中的名片管理器_基于python实现名片管理系统

    本文实例为大家分享了python实现名片管理系统的具体代码,供大家参考,具体内容如下 主程序: import cards_tools # 无限循环,由用户主动决定什么时候退出 while True: ...

  7. python名片管理系统_用python实现名片管理系统

    python的基础练习案例--名片管理系统,一个控制台程序的案例练习,平台为pycharm2017.代码是看着python视频学的时候写的,pycharm运行没有问题. 系统需求 1.程序启动,显示名 ...

  8. Python实现名片管理系统

    综合应用已经学习过的知识点: 变量 流程控制 函数 模块 系统需求 1.程序启动,显示名片管理系统欢迎界面,并显示功能菜单 ************************************** ...

  9. python实现名片管理系统在哪里_python实现名片管理系统项目

    名片管理系统,供大家参考,具体内容如下 环境要求:linux系统.python2.x或python3.x 资源地址:GitHub地址 写在前面的话:笔者之前在初学C/C++时,都曾写过类似的管理系统. ...

最新文章

  1. CSS:超出部分省略号
  2. Windows 7的使用技巧或功能经典20条
  3. [USACO08DEC]在农场万圣节Trick or Treat on the Farm
  4. PHPUnit安装、用法、测试(三)
  5. 把编译时间加入到目标文件
  6. 跟着百度学PHP[4]OOP面对对象编程-16-switch逻辑就语句
  7. 不止操作系统,智能手机才更需要开源!
  8. 线性表(插入/清除数据/快慢指针查找中间数据)
  9. CJB的大作 - 乱搞
  10. aligned_allocator
  11. *python中的字符串
  12. 高中数学培训高中数学必修一
  13. 用outlook收发live mail
  14. 大数据项目一般金额多少_大数据工作月薪多少 就业前景好不好?
  15. 7-2 改写二分搜索算法 (20 分)
  16. [ZZ]Windows磁盘驱动基础教程
  17. jester数据集 下载_使用Jester测试您的测试
  18. 企业电子招标采购系统源码Spring Cloud + Spring Boot + MybatisPlus + Redis + Layui + 前后端分离 + 二次开发
  19. C++虚函数virtual
  20. python判断字符串包含某个字符_python判断字符串是否包含另一个字符串

热门文章

  1. 【吴恩达机器学习笔记】8聚类、降维
  2. iPhone所有机型启动图尺寸整理
  3. 【附源码】计算机毕业设计java舟影短视频平台设计与实现
  4. 计算机网络宽带接入,【计算机网络】宽带接入技术
  5. 深圳有哪些学计算机的学校,深圳计算机专业学校
  6. python如何以表格形式打印输出
  7. RankNet——基本思想
  8. mysql横向纵向_mysql怎么更改纵向变横向排列
  9. 【C++入门】文件流(fstream)介绍和使用
  10. 小程序开发简易查询系统