Bonjour,

Pourquoi, dans le cas suivant, le var.set("nouvelle string") n'agit-il pas sur le label? (le print lui passe)

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
29
30
31
32
33
34
 
import socket, sys
from tkinter import *
 
HOST = '192.168.1.0' # votre adresse locale ici pour tester
PORT = 5432
 
def start_serv(HOST, PORT):
    mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    
    try:
        mySocket.bind((HOST, PORT))
    except socket.error:
        print("erreur")
        sys.exit()
 
    # var.set ne fait rien..
    var.set("> Serveur en écoute...")
    # ..mais print est ok
    print("> Serveur en écoute...")
 
    mySocket.listen(5)
    conn, addr = mySocket.accept()
    var.set("> Client connecté, adresse IP %s, port %s" % (addr[0], addr[1]))
 
 
fen = Tk()
 
btn = Button(text="Démarrer Serveur", command= lambda: start_serv(HOST, PORT)).pack()
 
var = StringVar()
lab = Label(fen, textvariable=var).pack()
var.set("> Serveur eteint")
 
fen.mainloop()
Comment faire pour mettre a jour le label dans ce cas?
Merci pour votre aide.