-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfrench_for_english.py
98 lines (79 loc) · 4.48 KB
/
french_for_english.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
from tkinter import *
from tkinter import messagebox
import pandas
import random
class FrenchForEnglish:
def __init__(self):
try:
self.data = pandas.read_csv("data/french_word_to_learn.csv")
except FileNotFoundError:
self.data = pandas.read_csv("data/english_word.csv")
self.data_list = self.data.to_dict(orient='records')
self.data_list1 = self.data_list.copy()
self.BACKGROUND_COLOR = "#B1DDC6"
self.dictionary = {}
self.window = Tk()
self.window.title("Flashy")
self.window.config(background=self.BACKGROUND_COLOR,padx=50,pady=50)
self.after_time = self.window.after(3000,func=self.translate)
self.image_background1 = PhotoImage(file= "image/Background1.png")
self.image_background2 = PhotoImage(file="image/background2.png")
self.canvas = Canvas(width=692,height=467,bg=self.BACKGROUND_COLOR,highlightthickness=0)
self.canvas_image = self.canvas.create_image(346,234)
self.canvas.grid(column=1,row=1,columnspan=2,rowspan=2)
self.language = self.canvas.create_text(346,150,text="", font=("Ariel",40,"italic"))
self.word = self.canvas.create_text(346,234,text="", font=("Ariel",60,"bold"))
self.change_word()
# Entry
self.back_image = PhotoImage(file="image/back.png")
self.canvas2 = Canvas(width=350,height=448,bg=self.BACKGROUND_COLOR,highlightthickness=0)
self.canvas2.create_image(175,224,image=self.back_image)
self.canvas2.create_text(180,60,text="French word:",font=("Ariel",20,"italic"))
self.canvas2.grid(column=3,row=1,rowspan=2)
self.new_word = Entry(width=15,font=("Ariel",14,"italic"))
self.new_word.grid(column=3,row=1)
self.canvas2.create_text(180,300,text="English definition:",font=("Ariel",20,"italic"))
self.new_word_definition = Entry(width=15,font=("Ariel",14,"italic"))
self.new_word_definition.grid(column=3,row=2)
self.add_button = Button(text="Add",font=("Ariel",24,"bold"),background=self.BACKGROUND_COLOR,command=self.add_new_word)
self.add_button.grid(column=3,row=3)
# button
self.cross_image = PhotoImage(file="image/cross.png")
self.cross_button = Button(image=self.cross_image,highlightthickness=0,command=self.change_word)
self.cross_button.grid(column=1,row=3)
self.ok_image = PhotoImage(file="image/ok.png")
self.ok_button = Button(image=self.ok_image,highlightthickness=0,command=self.is_known)
self.ok_button.grid(column=2,row=3)
# fonction de retour en arriere
# self.returned = Button(text="Go back",command)
# self.returned.grid(row=0,column=0)
self.window.mainloop()
def add_new_word(self):
if self.new_word.get() == "" or self.new_word_definition.get() == "":
messagebox.showinfo(title="Oops",message="cna't not be a blank field")
elif messagebox.askyesno(title="Save a new word",message=f"Save this word?\nWord:{self.new_word.get()}\nDefinition: {self.new_word_definition.get()}"):
self.data_list1.append({"english":self.new_word.get(),"french":self.new_word_definition.get()})
self.new_word.delete(0,END)
self.new_word_definition.delete(0,END)
self.data = pandas.DataFrame(self.data_list1)
self.data.to_csv("data/french_word_to_learn.csv",index=False)
else:
pass
def change_word(self):
self.window.after_cancel(self.after_time)
# word_dict = { {row.english:row.french} for (index,row) in data.iterrows()}
# print(word_dict)
self.dictionary = random.choice(self.data_list1)
self.canvas.itemconfig(self.canvas_image,image=self.image_background1)
self.canvas.itemconfig(self.language,text="French",fill="black")
self.canvas.itemconfig(self.word,text= self.dictionary["french"],fill="black")
self.after_time = self.window.after(3000,func=self.translate)
def translate(self):
self.canvas.itemconfig(self.canvas_image,image=self.image_background2)
self.canvas.itemconfig(self.language,text="English",fill="white")
self.canvas.itemconfig(self.word,text=self.dictionary["english"],fill="white")
def is_known(self):
self.data_list1.remove(self.dictionary)
self.hange_word()
self.data = pandas.DataFrame(self.data_list1)
self.data.to_csv("data/word_to_learn.csv",index=False)