Vous êtes ici : Accueil / Forums & ML / Forums Python / Forum général Python / Problème réalisation tableau périodique tkinter

Problème réalisation tableau périodique tkinter

Remonter à Forum général Python
  • Problème réalisation tableau périodique tkinter

    Envoyé par magzym le 26 Août 2010 à 14:55
    Bonjour,

    Je dois réaliser ,de manière assez urgent, un tableau périodique sous tkinter avec une contrainte : le faire sous forme de liste.
    Je parviens à faire fonctionner la fonction elem() qui me permet d'afficher les infos sur les différents éléments mais une fois que je dois passer au bouton ça se complique. Comme on ne peut pas employer de valeur avec la fonction command, je tente d'utiliser un lambda mais sans succès...
    Une idée ?
    voici mon code (je n'ai pas encore mis tous les éléments vu que le début ne fonctionne pas) :

    # -*- coding: cp1252 -*-
    from Tkinter import*

    elements=[["Nom : Hydrogene","Numero atomique : 1", "Masse atomique : 1.00794", "Temperature de fusion(degre celcius) : -259.2", "Temperature ebullition (degre celcius): ---","Electronegativite : 2.20"],
    ["Nom : Helium", "Numero atomique : 2", "Masse atomique : 4.0026", "Temperature de fusion(degre celcius) : -272.2", "Temperature ebullition (degre celcius) : -268.93","Electronegativite : ---"]
    ]
    def elem(x):
    element=Tk()
    element.title("Proprietes" )
    listbox=Listbox(element,height=10,width=40,fg="#070942" )
    listbox.pack()
    listbox.insert(END)
    for item in elements[x]:
    listbox.insert(END,item)
    quitter = Button(element,text='Quitter',command=element.destroy)
    quitter.pack(side=BOTTOM)
    mainloop()

    fen1=Tk()
    fen1.title("Tableau periodique" )

    ess=Button(fen1,text="KK" )
    ess.grid(row=2,column=2)

    bouH=Button(fen1,text='H',command=lambda x:elem(0),height=2,width=3,bg="white" )
    bouH.grid(row=1,column=0)

    bouHe=Button(fen1,text='He',command=lambda x:elem(),height=2,width=3,bg="white" )
    bouHe.grid(row=1,column=17)

    fen1.mainloop()

    Merci d'avance !
    • Re: Problème réalisation tableau périodique tkinter

      Envoyé par fredogo le 26 Août 2010 à 15:12
      Bonjour,

      Veuillez mettre votre code entre les balises code s'il vous plaît.
    • Re: Problème réalisation tableau périodique tkinter

      Envoyé par fredogo le 26 Août 2010 à 15:20
      [quote]bouH=Button(fen1,text='H',command=lambda x:elem(0),height=2,width=3,bg="white" ) [/quote]

      Quelquechose me choque, lambda est une fonction anonyme, alors pourquoi la nommer.

      Correct aurait été

      bouH=Button(fen1,text='H',command=lambda:elem(0),height=2,width=3,bg="white" )


      idem pour la suite du code

      Sans tester je vois que vos boutons seront désorganisés, il faut travailler par frame.
    • Re: Problème réalisation tableau périodique tkinter

      Envoyé par magzym le 26 Août 2010 à 15:33
      Ha ben super merci en fait tu as résolu mon problème c'est vrai que sans la nommer ça marche beaucoup mieux =)
      Pour les balises je dois avouer que je ne connais pas le code.
      En ce qui concerne l'organisation des boutons le .grid permet de faire ce que je veux actuellement donc pas de soucis de ce point de vue. Si j'ai d'autres problème je reviendrais.
      Encore un grand merci et à bientôt
    • Re: Problème réalisation tableau périodique tkinter

      Envoyé par fredogo le 26 Août 2010 à 15:41
      le code est code entre crochets :)
Rendu par Ploneboard