Bonsoir,

Si j'ai un bouton, dont la commande est une lambda appelant une fonction avec paramètres:
Y a t il un moyen de récupérer le return de la fonction dans une variable suite au clic sur le bouton?

un peu comme ça ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
from tkinter import *
 
def add(v1, v2, v3):
    global v           # je lis souvent qu'il faut éviter autant que possible les globales..
    v = v1+v2+v3
    return v           # du coup, le return ici ne sert pas
 
# juste pour contrôler que v a bien été modifiée
def update():
    var.set(v)
 
fen = Tk()
a,b,c = 1,3,4
 
v=0
 
var = IntVar()
var.set(v)
but1 = Button(fen, text="Go", command=lambda: add(a,b,c))
but1.grid()
 
lab = Label(fen, textvariable=var)
lab.grid()
 
but2 = Button(fen, text="update", command=update)
but2.grid()
 
fen.mainloop()
..mais sans avoir à utiliser une globale et en récupérant le return de la ligne 6 dans v?

Merci pour votre aide.