import tkinter as tk
from tkinter import *
import os
# تابع اضافه کردن مخاطب و ذخیره کردن
def add_contact():
def add():
name = en_contact.get()
number = en_number.get()
with open("phonebook.txt","a") as file1:
file1.write(f" {name} --> {number} \n")
win1.destroy()
# پنجره اضافه کردن مخاطب
win1 = tk.Tk()
win1.title("add cantact")
win1.geometry("230x150+610+230")
lbl_contact = Label(win1,text="name: ")
lbl_contact.grid(row=1,column=0)
en_contact = Entry(win1,width=15,font=("Arail",14))
en_contact.grid(row=1,column=1)
lbl_number = Label(win1,text="number: ")
lbl_number.grid(row=2,column=0)
en_number = Entry(win1,width=15,font=("Arail",14))
en_number.grid(row=2,column=1)
btn_ad = Button(win1,text = "add and save",bd = 5,command=add)
btn_ad.grid(row=3,column=0,columnspan=2,pady=10)
# تابع پنجره نمایش مخاطبین
def show_contact():
win2 = tk.Tk()
win2.title("contacts")
win2.geometry("230x150+610+230")
scrol = Scrollbar(win2)
scrol.pack(side=LEFT,fill=Y)
with open("phonebook.txt","r") as file1:
list1 = file1.readlines()
mylist = Listbox(win2, yscrollcommand = scrol.set ,font=('Arail',12),width=30,height=10)
for item in reversed(list1):
mylist.insert(END,item)
mylist.pack( side = LEFT,fill=BOTH)
scrol.config(command=mylist.yview)
# جستجو کردن در لیست مخاطبین و حذف مخاطب
def search_del_contact():
with open("phonebook.txt","r") as file1:
lst = file1.readlines()
# تابع جستجو
def search():
s = entry_name.get()
result_lbl.config(text=" ")
for itm in lst:
if s in itm :
result_lbl.config(text=itm)
break
else:
result_lbl.config(text="Not found")
# تابع حذف
def del_contact():
d = entry_name.get()
for itm in lst:
if d in itm:
lst.remove(itm)
result_lbl.config(text = "this name delets.")
with open("phonebook.txt",'w') as file2:
for item in lst:
file2.write(''.join(item))
break
else:
result_lbl.config(text = "this name isn't in the phonebook.")
#پنجره مربوط به دکمه جستجو
win3 = tk.Tk()
win3.title("search cantact")
win3.geometry("230x150+610+230")
lbl_name = Label(win3,text="name: ")
lbl_name.grid(row=1,column=0)
entry_name = Entry(win3,width=15,font=("Arail",14))
entry_name.grid(row=1,column=1)
btn_search2 = Button(win3,text = "search",command=search,font=("Arail",12))
btn_search2.grid(row=2,column=0,columnspan=2)
result_lbl = Label(win3,text = " ")
result_lbl.grid(row=3,column=0,columnspan=2)
btn_del = Button(win3,text = "del contacts",command=del_contact,font=("Arail",12))
btn_del.grid(row=4,column=0,columnspan=2)
# پنجره اصلی
root = tk.Tk()
root.title("my phonebook")
root.geometry("250x150+600+100")
titr = Label(root,text = "My Contacts",bd = 5,font = ("b nazanin bold",14))
titr.grid(row=0 , column=0,columnspan=2)
# دکمه ها
btn_add = Button(root,text = "add contact",command=add_contact,font=("Arail",12))
btn_add.grid(row=2,column=0,padx=10,pady=10)
btn_show = Button(root,text = "show contacts",command=show_contact,font=("Arail",12))
btn_show.grid(row=2,column=1,padx=10,pady=10)
btn_search = Button(root,text = "search-del contact",command=search_del_contact,font=("Arail",12))
btn_search.grid(row=3,column=0,padx=10,pady=10,columnspan=2)
root.mainloop()