Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
983 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  problème réalisation tableau périodique tkinter

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème réalisation tableau périodique tkinter

n°2019181
volley87
Posté le 26-08-2010 à 15:50:04  profilanswer
 

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 !

mood
Publicité
Posté le 26-08-2010 à 15:50:04  profilanswer
 

n°2019259
Christalin​e
Ca coule de source
Posté le 27-08-2010 à 00:26:20  profilanswer
 

Code :
  1. # -*- coding: cp1252 -*-
  2. from Tkinter import *
  3. elements = [
  4.             ["Nom : Hydrogene", "Numero atomique : 1", "Masse atomique : 1.00794", "Temperature de fusion(degre celcius) : -259.2", "Temperature ebullition (degre celcius): ---", "Electronegativite : 2.20"],
  5.             ["Nom : Helium", "Numero atomique : 2", "Masse atomique : 4.0026", "Temperature de fusion(degre celcius) : -272.2", "Temperature ebullition (degre celcius) : -268.93", "Electronegativite : ---"]
  6.            ]
  7. class Window(Tk):
  8.     def __init__(self, title):
  9.         Tk.__init__(self)
  10.         self.title(title)
  11.        
  12. class ElementButton:
  13.     def __init__(self, root, index, text, height, width, row, column, bg):
  14.         self.index = index
  15.         self.button = Button(root, text=text,command=self.elem, height=height, width=width, bg=bg)
  16.         self.button.grid(row=row, column=column)
  17.     def elem(self):
  18.         element = Window("Proprietes" )
  19.         listbox = Listbox(element, height=10, width=40, fg="#070942" )
  20.         for item in elements[self.index]:
  21.             listbox.insert(END, item)
  22.         listbox.pack()
  23.         quitter = Button(element, text='Quitter', command=element.destroy)
  24.         quitter.pack(side=BOTTOM)
  25.         element.mainloop()
  26. root = Window("Tableau periodique" )
  27. ess = Button(root, text="KK" )
  28. ess.grid(row=2, column=2)
  29. bouH = ElementButton(root, 0, 'H', 2, 3, 1, 0, 'white')
  30. bouHe = ElementButton(root, 1, 'He', 2, 3, 1, 17, 'white')
  31. root.mainloop()


 [:daaadou:1]

Spoiler :

Apprends à espacer ton code. Genre dans une affectation, tu colles pas "var=value" mais plutôt "var = value", sinon ça rend vite le code illisible. Idem pour les paramètres de fonction, idem pour tout.


Message édité par Christaline le 27-08-2010 à 01:14:30

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  problème réalisation tableau périodique tkinter

 

Sujets relatifs
Tableau 2D, à 1 dimension connue et l'autre inconnue...Tri d'objet pointé dans un tableau
macro excel - créer un tableau récapitulant les liaisons de la feuilleProblème Script AS3 Flash
Créer une table dans Access à partir d'un tableau[ACCESS] [RESOLU] Problème de doublon récalcitrant
Alimenter une plage grace à une variable tableauProblème de connexion
probleme de calcul matricielProblème requête PDO
Plus de sujets relatifs à : problème réalisation tableau périodique tkinter


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR