#!/usr/bin/env python # -*- coding: utf-8 -*- # Programme sur le tableau périodique # MJ, Ba2 chimie 2010-2011 from tkinter import * from element_liste import * #sert à importer la liste présente dans l'autre fichier #création de la commande générale du boutton def elem(x): element=Tk() element.title("Proprietes") listbox=Listbox(element,height=10,width=40,fg="#070942") listbox.pack() #sert à ajuster la fenêtre listbox.insert(END) for item in tableau[x]: listbox.insert(END,item) quitter = Button(element,text='Quitter',command=element.destroy) quitter.pack(side=BOTTOM) mainloop() fen1=Tk() fen1.title("Tableau periodique") #création de la légende (site www.jchr.be/python/tkinter.htm) import tkinter sysdemenu=tkinter.Menu(fen1) def legende(): legend1= Tk() legend1.title("Légende") frame= Frame(legend1, height=200, width= 300) #frame ouvre une nouvelle fenêtre dans laquelle on peut insérer plusieurs widgets (ici des messages) autre = Message(legend1, text="Autres", width=300, font="Arial 15", bg="white") #font = taille et police autre.pack() metauxtransition= Message(legend1, text="Metaux de transition", width=300, font="Arial 15", bg="#FFCCCC") metauxtransition.pack() gazrare = Message(legend1, text="Gaz rares", width=300, font="Arial 15", bg="#00CCFF") gazrare.pack() nonmetaux= Message(legend1, text="Non metaux", width=300, font="Arial 15", bg="#00FF66") nonmetaux.pack() metauxalcalins= Message(legend1, text="Metaux alcalins", width=300, font="Arial 15", bg="#FF9900") metauxalcalins.pack() metauxalcalinoterreux= Message(legend1, text="Metaux alcalino terreux", width=300, font="Arial 15", bg="#FFFF33") metauxalcalinoterreux.pack() lanthanides= Message(legend1, text="Lanthanides", width=300, font="Arial 15", bg="#CCCC66") lanthanides.pack() actinides= Message(legend1, text="Actinides", width=300, font="Arial 15", bg="#FF3300") actinides.pack() metaux= Message(legend1, text="Metaux", width=300, font="Arial 15", bg="#9999FF") metaux.pack() frame.pack() mainloop() Menu=tkinter.Menu(sysdemenu) sysdemenu.add_cascade(label="Menu", menu=Menu) Menu.add_command(label="Legende", command = legende) Menu.add_command(label="Quitter", command=fen1.quit) #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,bg=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) fen1.config(menu=sysdemenu) #création de la listbox au sommet (source:http://www.tkdocs.com/tutorial/grid.html) centre=Listbox(fen1) centre.grid(row=0,column=3,rowspan= 1,columnspan=8) centre.insert(END) for item in ["Nom:","Symbole:", "Numero atomique:","Masse molaire:","Ligne:","Colonne:","Couleur:"]: centre.insert(END,item) mainloop() fen1.destroy() fen1.mainloop()