Définition d'une fonction dépendante d'un indice
Résolu
marclcf
-
marclcf -
marclcf -
Bonsoir à tous,
J'ai un projet python dans lequel j'utilise le module
J'ai un problème au moment de donner le paramètre
Une solution pourrait consister à définir à la main 20 fonctions par exemple nommées
Pour le moment, je me sers de la ligne suivante pour ajouter à ma fenêtre mes 20 boutons :
Je suis preneur pour toute sorte de solution car je ne trouve rien fonctionne depuis un moment.
Merci :-)
Marc
J'ai un projet python dans lequel j'utilise le module
tkinterafin de créer une interface graphique qui propose une grille 4x5 de boutons.
J'ai un problème au moment de donner le paramètre
commandde l'objet
Buttoncar j'aimerais que la fonction appelée dépende du bouton sur lequel on clique.
Une solution pourrait consister à définir à la main 20 fonctions par exemple nommées
func00,
func01, etc. mais je trouve cela laborieux pour rien.
Pour le moment, je me sers de la ligne suivante pour ajouter à ma fenêtre mes 20 boutons :
M_cases = [ [ tk.Button( window, background='brown', command=eval("func"+str(ij)), height='6', width='16' ) for j in range(5) ] for i in range(4) ]
Je suis preneur pour toute sorte de solution car je ne trouve rien fonctionne depuis un moment.
Merci :-)
Marc
A voir également:
- Définition d'une fonction dépendante d'un indice
- Fonction si et - Guide
- Indice téléphonique - Guide
- Liste déroulante dépendante excel - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
3 réponses
Bonjour,
Une manière de faire consiste à passer par un foncteur :
Bonne chance
Une manière de faire consiste à passer par un foncteur :
import tkinter as tk m = 4 n = 5 class Fonctor: def __init__(self, i, j): print(f"{i},{j}") self.i = i self.j = j def __call__(self): print(f"Clic sur le Bouton ({self.i}, {self.j})") root = tk.Tk() buttons = [ [ tk.Button( text=f"Bouton ({i}, {j})", command=Fonctor(i, j) ) for j in range(n) ] for i in range(m) ] for i in range(m): for j in range(n): buttons[i][j].pack() root.mainloop()
Bonne chance
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
command= lambda ij= str(i) + str(j) : func(ij)