import Tkinter as tk from pylab import * from ElementsDict import * from subPTE import * def plotdist(atom, button): if atom['control']==0: atom['control']=1 button['relief']='sunken' print atom['control'] plot (distribution, atom['dist']) show () if atom['control']==1: atom['control']=0 button['relief']='raised' print atom['control'] master = tk.Tk() master.title('Periodic Table of Elements') #################################################### q1a = lambda: plotdist(H, b1) q1 = lambda: atomsubmenu(H, b1) b1 = tk.Button(master, text="H", command=q1, width=1, height=1, bg='white') b1.pack() q2 = lambda: atomsubmenu(He, b2) b2 = tk.Button(master, text="He", command=q2, width=1, height=1, bg='pink') b2.pack() q3 = lambda: atomsubmenu(Li, b3) b3 = tk.Button(master, text="Li", command=q3, width=1, height=1, bg='yellow') b3.pack() q4 = lambda: atomsubmenu(Be, b4) b4 = tk.Button(master, text="Be", command=q4, width=1, height=1, bg='brown') b4.pack() q5 = lambda: atomsubmenu(B, b5) b5 = tk.Button(master, text="B", command=q5, width=1, height=1, bg='blue') b5.pack() q6 = lambda: atomsubmenu(C, b6) b6 = tk.Button(master, text="C", command=q6, width=1, height=1, bg='green') b6.pack() q7 = lambda: atomsubmenu(N, b7) b7 = tk.Button(master, text="N", command=q7, width=1, height=1, bg='green') b7.pack() q8 = lambda: atomsubmenu(O, b8) b8 = tk.Button(master, text="O", command=q8, width=1, height=1, bg='green') b8.pack() q9 = lambda: atomsubmenu(F, b9) b9 = tk.Button(master, text="F", command=q9, width=1, height=1, bg='red') b9.pack() q10 = lambda: atomsubmenu(Ne, b10) b10 = tk.Button(master, text="Ne", command=q10, width=1, height=1, bg='pink') b10.pack() q11 = lambda: atomsubmenu(Na, b11) b11 = tk.Button(master, text="Na", command=q11, width=1, height=1, bg='yellow') b11.pack() q12 = lambda: atomsubmenu(Mg, b12) b12 = tk.Button(master, text="Mg", command=q12, width=1, height=1, bg='brown') b12.pack() q13 = lambda: atomsubmenu(Al, b13) b13 = tk.Button(master, text="Al", command=q13, width=1, height=1, bg='purple') b13.pack() q14 = lambda: atomsubmenu(Si, b14) b14 = tk.Button(master, text="Si", command=q14, width=1, height=1, bg='blue') b14.pack() q15 = lambda: atomsubmenu(P, b15) b15 = tk.Button(master, text="P", command=q15, width=1, height=1, bg='green') b15.pack() q16 = lambda: atomsubmenu(S, b16) b16 = tk.Button(master, text="S", command=q16, width=1, height=1, bg='green') b16.pack() q17 = lambda: atomsubmenu(Cl, b17) b17 = tk.Button(master, text="Cl", command=q17, width=1, height=1, bg='red') b17.pack() q18 = lambda: atomsubmenu(Ar, b18) b18 = tk.Button(master, text="Ar", command=q18, width=1, height=1, bg='pink') b18.pack() q19 = lambda: atomsubmenu(K, b19) b19 = tk.Button(master, text="K", command=q19, width=1, height=1, bg='yellow') b19.pack() q20 = lambda: atomsubmenu(Ca, b20) b20 = tk.Button(master, text="Ca", command=q20, width=1, height=1, bg='brown') b20.pack() q21 = lambda: atomsubmenu(Sc, b21) b21 = tk.Button(master, text="Sc", command=q21, width=1, height=1) b21.pack() q22 = lambda: atomsubmenu(Ti, b22) b22 = tk.Button(master, text="Ti", command=q22, width=1, height=1) b22.pack() q23 = lambda: atomsubmenu(V, b23) b23 = tk.Button(master, text="V", command=q23, width=1, height=1) b23.pack() q24 = lambda: atomsubmenu(Cr, b24) b24 = tk.Button(master, text="Cr", command=q24, width=1, height=1) b24.pack() q25 = lambda: atomsubmenu(Mn, b25) b25 = tk.Button(master, text="Mn", command=q25, width=1, height=1) b25.pack() q26 = lambda: atomsubmenu(Fe, b26) b26 = tk.Button(master, text="Fe", command=q26, width=1, height=1) b26.pack() q27 = lambda: atomsubmenu(Co, b27) b27 = tk.Button(master, text="Co", command=q27, width=1, height=1) b27.pack() q28 = lambda: atomsubmenu(Ni, b28) b28 = tk.Button(master, text="Ni", command=q28, width=1, height=1) b28.pack() q29 = lambda: atomsubmenu(Cu, b29) b29 = tk.Button(master, text="Cu", command=q29, width=1, height=1) b29.pack() q30 = lambda: atomsubmenu(Zn, b30) b30 = tk.Button(master, text="Zn", command=q30, width=1, height=1) b30.pack() q31 = lambda: atomsubmenu(Ga, b31) b31 = tk.Button(master, text="Ga", command=q31, width=1, height=1, bg='purple') b31.pack() q32 = lambda: atomsubmenu(Ge, b32) b32 = tk.Button(master, text="Ge", command=q32, width=1, height=1, bg='blue') b32.pack() q33 = lambda: atomsubmenu(As, b33) b33 = tk.Button(master, text="As", command=q33, width=1, height=1, bg='blue') b33.pack() q34 = lambda: atomsubmenu(Se, b34) b34 = tk.Button(master, text="Se", command=q34, width=1, height=1, bg='green') b34.pack() q35 = lambda: atomsubmenu(Br, b35) b35 = tk.Button(master, text="Br", command=q35, width=1, height=1, bg='red') b35.pack() q36 = lambda: atomsubmenu(Kr, b36) b36 = tk.Button(master, text="Kr", command=q36, width=1, height=1, bg='pink') b36.pack() q37 = lambda: atomsubmenu(Rb, b37) b37 = tk.Button(master, text="Rb", command=q37, width=1, height=1, bg='yellow') b37.pack() q38 = lambda: atomsubmenu(Sr, b38) b38 = tk.Button(master, text="Sr", command=q38, width=1, height=1, bg='brown') b38.pack() q39 = lambda: atomsubmenu(Y, b39) b39 = tk.Button(master, text="Y", command=q39, width=1, height=1) b39.pack() q40 = lambda: atomsubmenu(Zr, b40) b40 = tk.Button(master, text="Zr", command=q40, width=1, height=1) b40.pack() q41 = lambda: atomsubmenu(Nb, b41) b41 = tk.Button(master, text="Nb", command=q41, width=1, height=1) b41.pack() q42 = lambda: atomsubmenu(Mo, b42) b42 = tk.Button(master, text="Mo", command=q42, width=1, height=1) b42.pack() q43 = lambda: atomsubmenu(Tc, b43) b43 = tk.Button(master, text="Tc", command=q43, width=1, height=1) b43.pack() q44 = lambda: atomsubmenu(Ru, b44) b44 = tk.Button(master, text="Ru", command=q44, width=1, height=1) b44.pack() q45 = lambda: atomsubmenu(Rh, b45) b45 = tk.Button(master, text="Rh", command=q45, width=1, height=1) b45.pack() q46 = lambda: atomsubmenu(Pd. b46) b46 = tk.Button(master, text="Pd", command=q46, width=1, height=1) b46.pack() q47 = lambda: atomsubmenu(Ag, b47) b47 = tk.Button(master, text="Ag", command=q47, width=1, height=1) b47.pack() q48 = lambda: atomsubmenu(Cd, b48) b48 = tk.Button(master, text="Cd", command=q48, width=1, height=1) b48.pack() q49 = lambda: atomsubmenu(In, b49) b49 = tk.Button(master, text="In", command=q49, width=1, height=1, bg='purple') b49.pack() q50 = lambda: atomsubmenu(Sn, b50) b50 = tk.Button(master, text="Sn", command=q50, width=1, height=1, bg='purple') b50.pack() q51 = lambda: atomsubmenu(Sb, b51) b51 = tk.Button(master, text="Sb", command=q51, width=1, height=1, bg='blue') b51.pack() q52 = lambda: atomsubmenu(Te, b52) b52 = tk.Button(master, text="Te", command=q52, width=1, height=1, bg='blue') b52.pack() q53 = lambda: atomsubmenu(I, b53) b53 = tk.Button(master, text="I", command=q53, width=1, height=1, bg='red') b53.pack() q54 = lambda: atomsubmenu(Xe, b54) b54 = tk.Button(master, text="Xe", command=q54, width=1, height=1, bg='pink') b54.pack() q55 = lambda: atomsubmenu(Cs, b55) b55 = tk.Button(master, text="Cs", command=q55, width=1, height=1, bg='yellow') b55.pack() q56 = lambda: atomsubmenu(Ba, b56) b56 = tk.Button(master, text="Ba", command=q56, width=1, height=1, bg='brown') b56.pack() #################################################### b1.grid(row=0, column=0, padx=1, pady=1) b2.grid(row=0, column=17, padx=1, pady=1) b3.grid(row=1, column=0, padx=1, pady=1) b4.grid(row=1, column=1, padx=1, pady=1) b5.grid(row=1, column=12, padx=1, pady=1) b6.grid(row=1, column=13, padx=1, pady=1) b7.grid(row=1, column=14, padx=1, pady=1) b8.grid(row=1, column=15, padx=1, pady=1) b9.grid(row=1, column=16, padx=1, pady=1) b10.grid(row=1, column=17, padx=1, pady=1) b11.grid(row=2, column=0, padx=1, pady=1) b12.grid(row=2, column=1, padx=1, pady=1) b13.grid(row=2, column=12, padx=1, pady=1) b14.grid(row=2, column=13, padx=1, pady=1) b15.grid(row=2, column=14, padx=1, pady=1) b16.grid(row=2, column=15, padx=1, pady=1) b17.grid(row=2, column=16, padx=1, pady=1) b18.grid(row=2, column=17, padx=1, pady=1) b19.grid(row=3, column=0, padx=1, pady=1) b20.grid(row=3, column=1, padx=1, pady=1) b21.grid(row=3, column=2, padx=1, pady=1) b22.grid(row=3, column=3, padx=1, pady=1) b23.grid(row=3, column=4, padx=1, pady=1) b24.grid(row=3, column=5, padx=1, pady=1) b25.grid(row=3, column=6, padx=1, pady=1) b26.grid(row=3, column=7, padx=1, pady=1) b27.grid(row=3, column=8, padx=1, pady=1) b28.grid(row=3, column=9, padx=1, pady=1) b29.grid(row=3, column=10, padx=1, pady=1) b30.grid(row=3, column=11, padx=1, pady=1) b31.grid(row=3, column=12, padx=1, pady=1) b32.grid(row=3, column=13, padx=1, pady=1) b33.grid(row=3, column=14, padx=1, pady=1) b34.grid(row=3, column=15, padx=1, pady=1) b35.grid(row=3, column=16, padx=1, pady=1) b36.grid(row=3, column=17, padx=1, pady=1) b37.grid(row=4, column=0, padx=1, pady=1) b38.grid(row=4, column=1, padx=1, pady=1) b39.grid(row=4, column=2, padx=1, pady=1) b40.grid(row=4, column=3, padx=1, pady=1) b41.grid(row=4, column=4, padx=1, pady=1) b42.grid(row=4, column=5, padx=1, pady=1) b43.grid(row=4, column=6, padx=1, pady=1) b44.grid(row=4, column=7, padx=1, pady=1) b45.grid(row=4, column=8, padx=1, pady=1) b46.grid(row=4, column=9, padx=1, pady=1) b47.grid(row=4, column=10, padx=1, pady=1) b48.grid(row=4, column=11, padx=1, pady=1) b49.grid(row=4, column=12, padx=1, pady=1) b50.grid(row=4, column=13, padx=1, pady=1) b51.grid(row=4, column=14, padx=1, pady=1) b52.grid(row=4, column=15, padx=1, pady=1) b53.grid(row=4, column=16, padx=1, pady=1) b54.grid(row=4, column=17, padx=1, pady=1) b55.grid(row=5, column=0, padx=1, pady=1) b56.grid(row=5, column=1, padx=1, pady=1) #################################################### master.mainloop()