1 pièce(s) jointe(s)
Probleme d'affichage d'un tableau avec Tkinter
Bonjour à tous,
Voici un petit programme de mon invention, qui vise à m'entrainer et à apprendre à créer des tableaux avec Tkinter.
Comme je suis chimiste de formation, j'ai pris un exemple dans le domaine de la chimie: on rentre dans le terminal, des valeurs de "volume" et de "pH" (dosage, pour ceux qui connaissent).
Le but est seulement d'afficher chaque mesure entrée par l'utilisateur dans un tableau avec 3 colonnes : Mesures, Volume et pH.
La saisie des valeurs se fait correctement. J'ai pu vérifier cela en imprimant les 3 listes (mesures, volume, et pH) dans le terminal de python 3.0.
Mais l'affichage du tableau pose problème : python renvoie le message d'erreur ci-dessous et j'ai beau regarder mon script, je ne trouve pas l'erreur.
Pourquoi Python affiche un message d'erreur "out of range" et comment corriger cela?
Merci de m'aider pour ceux qui le peuvent. Etre autodidacte, c'est pas toujours facile...
Voici mon script et le message d'erreur:
Code:
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
| from tkinter import *
liste_mesure = []
liste_volumes = []
liste_pH = []
saisie = 1
volume = 0
while volume>=0:
print("Mesure N°", saisie,":")
volume=float(input("Entrez le volume :"))
if volume<0:
break
pH = float(input("Entrez le pH : "))
liste_volumes.append(volume)
liste_pH.append(pH)
liste_mesure.append(saisie)
saisie=saisie+1
r = 0
Label(text="Mesure N°", relief=RIDGE, width=25).grid(row=0, column=0)
Label(text="Volume (en mL", relief=RIDGE, width=25).grid(row=0, column=1)
Label(text="pH", relief=RIDGE, width=25).grid(row=0, column=2)
#print(liste_mesure)
#print(liste_volumes)
#print(liste_pH)
for nombre_lignes in range(saisie):
Label(text=liste_mesure[r], relief=RIDGE, width=25).grid(row=r+1, column=0)
Label(text=liste_volumes[r], relief=RIDGE, width=25).grid(row=r+1, column=1)
Label(text=liste_pH[r], relief=RIDGE, width=25).grid(row=r+1, column=2)
r=r+1
mainloop() |
Merci pour ces explications / pb avec fenêtre tkinter
Re-bonjour,
merci pour ces explications et ces scripts que je vais tester tout de suite...
Maintenant je suis embêté avec ma fenêtre tkinter...
La fenêtre tkinter qui contient le tableau de mesures s'affiche correctement, mais pour quelle reste visible sur l'écran, j'utilise l'instruction mainloop().
Le problème c'est que tant que je n'ai pas fermé la fenêtre, le programme ne poursuit plus son execution dans le terminal.
J'ai rédigé quelques lignes de script supplémentaires qui demandent à l'utilisateur s'il souhaite modifier des mesures, et si oui, lesquelles.
Mais cette condition ne s'affiche dans le terminal, que si je ferme la fenêtre.
Or je voudrai que la fenêtre reste ouverte, et avoir la main sur le terminal pour que le programme se poursuive.
Savez-vous s'il existe une instruction spécifique pour cela ou suis-je obligé de fermer la fenêtre?
Merci, et bonne soirée.