pythonを使用して名刺管理システムを実現する

Pythonは名刺管理システム(インターフェース+データベース)を実現

簡単な情報管理システム(以前の名刺管理システムと同様)を開発するには、次のものが必要です。

  1. 構造化またはオブジェクト指向の開発方法を使用してシステムを開発する
  2. グラフィカルなユーザーインターフェイスを備えています
  3. データベースにデータを保存する
  4. python言語でシステムを実装する

一部の機能は以下のとおりです

入るときのインターフェース

すべての名刺を表示した後のインターフェース

新しい名刺機能

正常に作成されました

含まれている名刺を検索する(名刺を変更し、名刺を削除する)

具体的なコードは次のとおりです

import sys
from tkinter import*from tkinter.messagebox import*from tkinter import ttk
import sqlite3
con = sqlite3.connect(r"D:\Pythonの演習\操作\12月6日パイソン\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)
# データを追加するための[OK]ボタン
def qd_event():try:if name.get()=="":showinfo(title="促す", message="名前を空にすることはできません!")
add.destroy()else:
con = sqlite3.connect(r"D:\Pythonの演習\操作\12月6日パイソン\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日パイソン\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日パイソン\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日パイソン\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日パイソン\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日パイソン\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作成者:PERFECTION new\n完了日:2019年12月18日")
# Tkルートウィンドウコンポーネントルートを作成します
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()

その他の教材については、「管理システム開発」のトピックに注意してください。

以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。

Recommended Posts

pythonを使用して名刺管理システムを実現する
Pythonは名刺管理システムを実現
Python3は名刺管理システムを実現
Pythonはシンプルな名刺管理システムを実装しています
pythonによる名刺管理システムの実装
pythonに基づく名刺管理システムの実装
パイソンを使って航空機戦争ゲームを実現する
Pythonは駐車場管理システムを実現
Pythonは車の管理システムを実装しています
パイソンタプルの使い方
pythonスレッドプールの使用方法
pythonを使用してOracleデータベースにクエリを実行します
pythonによる学生管理システムの実装
C ++を使用してPython3拡張機能を作成する
python学生管理システムの実装
PythonでSQLiteを使用する方法
およびおよびまたはPythonでの使用方法
Pythonを使用して飛行機の戦争ゲームを作成する
PYTHONを使用してニュース記事をクロールする方法
Python |コレクションはとても使いやすいです! !
Pythonを使用してDouyinキャラクタービデオを生成してください!
Pythonを使用して画像をすばやく切り取る
python3を使用してubuntuに3番目をインストールします
pythonでround関数を使用する方法
乾物| Pythonを使用してmysqlデータベースを操作する
Pythonでzip関数を使用する方法
Pythonは学生管理システムの開発を実現します
Ubuntuシステムでdpkgコマンドを使用する方法
pythonでformat関数を使用する方法
pythonでアシスタントを実行するコードを使用する方法
[練習] Ubuntuシステムにpython3.6をインストールする方法
01.Pythonの概要
セントスシステム管理
Pythonクローラー-美しいスープの使用
Pythonの紹介
プレイカードの配布を実現するためのPythonシミュレーション