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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
| from element_liste import * #importer les éléments du tableau périodique
....
def add(btn0,btn1,btn2,label0,label1,label2,Z0,Z1,Z2,M0,M1,M2,texte,varZ0,varZ1,varZ2,varM0,varM1,varM2):
#Si l'utilisateur clique sur le bouton btn0:
M0.config(textvariable=varM0)
Z0.config(textvariable=varZ0)
label0.config(text=texte,font=(None, 10),width=2,height=2)
#Ou si l'utilisateur clique sur le bouton btn1:
M1.config(textvariable=varM1)
Z1.config(textvariable=varZ1)
label1.config(text=texte,font=(None, 10))
#Ou si l'utilisateur clique sur le bouton btn2:
M2.config(textvariable=varM2)
Z2.config(textvariable=varZ2)
label2.config(text=texte,font=(None, 10))
def elem(x):
element=Tk()
element.title("Proprietes")
listbox=Listbox(element,height=10,width=40,highlightbackground="#070942")
listbox.pack() #sert à ajuster la fenêtre
listbox.insert(tkinter.END)
for item in tableau[x]:
listbox.insert(tkinter.END,item)
ajouter0 = Button(element,text='Add',command=partial(add,btn0,btn1,btn2,label0,label1,label2,Z0,Z1,Z2,M0,M1,M2,texte=listbox.get(1,None),varM0=DoubleVar(f1,listbox.get(3,None)),varM1=DoubleVar(f1,listbox.get(3,None)),varM2=DoubleVar(f1,listbox.get(3,None)),varZ0=IntVar(f1,x),varZ1=IntVar(f1,x),varZ2=IntVar(f1,x)))
ajouter0.pack(side=BOTTOM)
quitter = Button(element,text='Exit',command=element.destroy)
quitter.pack(side=BOTTOM)
element.mainloop()
def clicked():
#exec(open("Tableau_periodique.py").read())
fen1=Toplevel(root)
fen1.title("Periodic table")
#création des boutons du tableau
bou_list=[]
for item in tableau[1:]:
bou=Button(fen1,text=item[1],command=lambda x=item[2]:elem(x),height=2,width=3,highlightbackground=item[6])
bou.grid(row=item[4],column=item[5]) #grid est utilisé pour classer les bouttons par rangée et colonne
bou_list.append(bou)
frame= Frame(fen1, height=200, width= 300)
autre = Message(frame, text="Others", width=300, font="Arial 15", bg="white")
metauxtransition= Message(frame, text="Transition metals", width=300, font="Arial 15", bg="#FFCCCC")
metauxtransition.pack()
gazrare = Message(frame, text="Noble gases", width=300, font="Arial 15", bg="#00CCFF")
gazrare.pack()
nonmetaux= Message(frame, text="Nonmetals", width=300, font="Arial 15", bg="#00FF66")
nonmetaux.pack()
metauxalcalins= Message(frame, text="Alkali metals", width=300, font="Arial 15", bg="#FF9900")
metauxalcalins.pack()
metauxalcalinoterreux= Message(frame, text="Alkaline earth metals", width=300, font="Arial 15", bg="#FFFF33")
metauxalcalinoterreux.pack()
lanthanides= Message(frame, text="Lanthanoids", width=300, font="Arial 15", bg="#CCCC66")
lanthanides.pack()
actinides= Message(frame, text="Actinoids", width=300, font="Arial 15", bg="#FF3300")
actinides.pack()
metaux= Message(frame, text="Metalloids", width=300, font="Arial 15", bg="#9999FF")
metaux.pack()
frame.grid(row=0,column=7,rowspan=3,columnspan=5)
centre=Listbox(fen1)
centre.grid(row=0,column=1,rowspan= 1,columnspan=6)
centre.insert(END)
for item in ["Name:","Symbol:", "Atomic number:","Molar mass:","Row:","Column:","Color in the P.table:"]:
centre.insert(END,item)
mainloop()
fen1.transient(root)
#####
### MOLECULAR ATOM ######
##### Création du frame
f1 = Frame(root, bd=1, relief='solid')
varZ0=IntVar(f1,0)
varZ1=IntVar(f1,0)
varZ2=IntVar(f1,0)
varM0=DoubleVar(f1,0.0)
varM1=DoubleVar(f1,0.0)
varM2=DoubleVar(f1,0.0)
label = Label(f1, text='Molecular atom').grid(column=0,row=8)
label = Label(f1, text='Z').grid(column=2,row=8)
label = Label(f1, text='M').grid(column=3,row=8)
label = Label(f1, text='Number').grid(column=4,row=8)
#LES BOUTONS
btn0 = Button(f1, text="1↘︎",width=2,command=clicked)
btn0.grid(column=0,row=9)
btn1 = Button(f1, text="2↘︎",width=2,command=clicked)
btn1.grid(column=0,row=10)
btn2 = Button(f1, text="3↘︎",width=2,command=clicked)
btn2.grid(column=0,row=11)
Z0 = Entry(f1,textvariable=varZ0,width=4)
Z0.grid(column=2,row=9)
Z1 = Entry(f1,textvariable=varZ1,width=4)
Z1.grid(column=2,row=10)
Z2 = Entry(f1,textvariable=varZ2,width=4)
Z2.grid(column=2,row=11)
M0 = Entry(f1,textvariable=varM0,width=4)
M0.grid(column=3,row=9)
M1 = Entry(f1,textvariable=varM1,width=4)
M1.grid(column=3,row=10)
M2 = Entry(f1,textvariable=varM2,width=4)
M2.grid(column=3,row=11)
varN0 =IntVar(f1,0)
varN1 =IntVar(f1,0)
varN2 =IntVar(f1,0)
ent = Entry(f1,textvariable=varN0,width=4).grid(column=4,row=9)
ent = Entry(f1,textvariable=varN1,width=4).grid(column=4,row=10)
ent = Entry(f1,textvariable=varN2,width=4).grid(column=4,row=11)
label0 = Label(f1, text='..',font=(None, 20))
label0.grid(column=1,row=9)
label1 = Label(f1, text='..',font=(None, 20))
label1.grid(column=1,row=10)
label2 = Label(f1, text='..',font=(None, 20))
label2.grid(column=1,row=11)
#placement du frame sur l'interface
f1.grid(row=8,column=0,columnspan=4,rowspan=11)
#### FIN MOLECULAR ATOM |
Partager