Curseur qui modifie la valeur d'une variable

Résolu/Fermé
Mumusesurpython - 27 déc. 2019 à 17:28
 trifou - 27 déc. 2019 à 20:54
Bonjour à tous les amis,
J'ai cherché des heures et des heures sur internet comment, à l'aide d'un curseur scale tkinter, on pouvait faire modifier la valeur d'une variable défini.
J'ai essayé plusieurs codes mais sans réussite. Les seuls que j'ai pu écrire ne m'ont qu'affficher la valeur, sans modifier la variable en question.
J'ai besoin de vous :/

2 réponses

Bonjour,

Tu n'as pas dû bien chercher (préférer les recherches en anglais), cela peut se faire en utilisant le paramètre command du scale ou encore en se servant d'une variable tkinter laquelle sera mise à jour automatiquement à chaque changement de la valeur du scale.

import tkinter as tk

window = tk.Tk()
scale_var = tk.IntVar()

def on_change(value):
    '''Fonction appelée à chaque changement du scale'''
    print('on_change arg', value, type(value))
    print('tk var', scale_var.get(), type(scale_var.get()))

scale = tk.Scale(window, from_=1, to=10, variable=scale_var, command=on_change)
scale.pack()

window.mainloop()


C'est à toi de déterminer si tu souhaites utiliser une variable tkinter, ce qui est préférable.
2
Mumusesurpython
27 déc. 2019 à 20:22
Oui c'est bien l'outil command que j'ai essayé d'utiliser mais je ne savais pas quelle fonction défénir pour faire varier la valeur.
Merci pour votre réponse.
0
La fonction, tu peux la nommer comme tu veux, la seule contrainte est qu'elle doit recevoir une valeur, donc il faut spécifier un argument dans sa déclaration, tkinter fournira cette valeur lors de l'appel à ta fonction ;)
0