Python GUI Programming

Maîtriser le Widget Scale de Tkinter

Spread the love

Le widget Scale de Tkinter offre une manière conviviale de permettre aux utilisateurs de sélectionner une valeur dans une plage spécifiée. Ceci est particulièrement utile lorsqu’une représentation visuelle d’un choix numérique est nécessaire, comme l’ajustement du volume, de la luminosité ou d’autres paramètres. Ce tutoriel vous guidera à travers les éléments essentiels de l’utilisation du widget Scale, couvrant ses fonctionnalités de base et ses options de personnalisation.

Table des matières

Création d’une échelle de base

Commençons par un exemple simple illustrant l’utilisation fondamentale du widget Scale :


import tkinter as tk

root = tk.Tk()
root.title("Exemple d'échelle Tkinter")

# Création d'un widget Scale
scale = tk.Scale(root, from_=0, to=100, orient=tk.HORIZONTAL, length=200)
scale.pack(pady=20)

# Fonction pour afficher la valeur actuelle de l'échelle
def show_value():
    value = scale.get()
    print(f"Valeur actuelle : {value}")

# Création d'un bouton pour afficher la valeur
button = tk.Button(root, text="Afficher la valeur", command=show_value)
button.pack()

root.mainloop()

Ce code génère une échelle horizontale allant de 0 à 100. Le paramètre orient définit l’orientation (tk.HORIZONTAL ou tk.VERTICAL), et length contrôle la longueur du widget. La fonction show_value récupère la valeur sélectionnée à l’aide de scale.get(), et le bouton fournit un moyen simple de déclencher cette action.

Contrôle de l’orientation et de la résolution

Le widget Scale permet un contrôle flexible de l’orientation et de la résolution. Créons des échelles verticales et horizontales avec des résolutions variables :


import tkinter as tk

root = tk.Tk()
root.title("Échelle Tkinter : Orientation et résolution")

# Échelle verticale
vertical_scale = tk.Scale(root, from_=0, to=10, orient=tk.VERTICAL, length=150, resolution=0.1)
vertical_scale.pack(side=tk.LEFT, padx=20)

# Échelle horizontale
horizontal_scale = tk.Scale(root, from_=0, to=100, orient=tk.HORIZONTAL, length=200, resolution=5)
horizontal_scale.pack(side=tk.LEFT, padx=20)

# Fonction pour afficher les valeurs des deux échelles
def show_values():
    v_value = vertical_scale.get()
    h_value = horizontal_scale.get()
    print(f"Valeur verticale : {v_value}")
    print(f"Valeur horizontale : {h_value}")

button = tk.Button(root, text="Afficher les valeurs", command=show_values)
button.pack()

root.mainloop()

Cet exemple montre une échelle verticale et une échelle horizontale. Le paramètre resolution dicte la granularité de la sélection. resolution=0.1 permet des ajustements précis dans l’échelle verticale, tandis que resolution=5 restreint l’échelle horizontale à des incréments de 5.

Personnalisation avancée

Au-delà de l’utilisation de base, le widget Scale offre de nombreuses options de personnalisation. Vous pouvez ajuster l’intervalle des graduations, ajouter des étiquettes et lier des événements pour des contrôles encore plus interactifs. Consultez la documentation officielle de Tkinter pour un aperçu complet des méthodes et des attributs disponibles. L’expérimentation est encouragée pour découvrir tout le potentiel de ce widget polyvalent. Par exemple, vous pouvez ajouter des étiquettes en utilisant le paramètre label, personnaliser l’intervalle des graduations en utilisant tickinterval, et répondre aux changements de valeur de l’échelle en utilisant l’option command, qui prend une fonction comme argument.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *