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 39 40 41 42 43
| # -*- coding: iso-8859-15 -*-
from tkinter import *
import tkinter.ttk as ttk
def affich(evt):
## Ici je voudrais récupérer les valeurs des ENTRYs :
## Jeu et score de la ligne sur laquelle la saisie
## a été validée par la touche <return>
global EntryJeu, EntryScore
w = evt.widget
for i in range(len(EntryJeu)):
if w == EntryJeu[i] or w == EntryScore[i]:
print("jeu"+str(i)+".get() =", EntryJeu[i].get())
print("score"+str(i)+".get() =", EntryScore[i].get())
## Pour l'instant, je ne sais récupérer que l'ENTRY qui a initié la fonction affich()
## Il me faudrait, en même temps, quelquechose du genre :
## w_jeu=evt.widget.jeu
## w_score=evt.widget.score
fenetre = Tk()
NbrEntry = 6
EntryJeu, EntryScore = [],[]
for i in range(NbrEntry):
fr_ligne =Frame(fenetre, bg="#ebb4c5")
fr_ligne.pack(side=TOP, expand=Y, fill=BOTH)
xn_jeu=StringVar()
xn_jeu.set("jeu"+str(i))
globals()["jeu"+str(i)] = Entry(fr_ligne, width =20, textvariable=xn_jeu)
globals()["jeu"+str(i)].bind("<Return>", affich)
globals()["jeu"+str(i)].pack(side=LEFT)
EntryJeu.append(globals()["jeu"+str(i)])
xn_score=StringVar()
xn_score.set("score"+str(i))
globals()["score"+str(i)] = Entry(fr_ligne, width =20, textvariable=xn_score)
globals()["score"+str(i)].bind("<Return>", affich)
globals()["score"+str(i)].pack(side=LEFT)
EntryScore.append(globals()["score"+str(i)])
fenetre.mainloop() |
Partager