Les paramètres de la fenêtre des contrôles
x, y
Position de la fenêtre sur l'écran (pixel en haut à gauche)
width, height
Largeur et hauteur de la zone d'affichage en pixels.
title Texte dans la barre de titre de la fenêtre
des contrôles.
range L'étendue de la région d'intérêt
à partir du centre et le long de chaque axe. La valeur par défaut est 100.
Le centre de la fenêtre des contrôles est toujours (0,0).
Les contrôles
Après avoir créé une fenêtre pour les contrôles, vous pouvez créer les contrôles suivants
qui apparaîtront dans cette fenêtre:
button Un bouton pour cliquer.
slider Réglez une glissière pour entrer
graphiquement une valeur numérique.
toggle Cliquez sur le levier pour basculer un interrupteur.
menu Un menu déroulant à options.
Les contrôles ont les attributs suivants:
pos
Position du contrôle (centre du bouton ou de l'interrupteur, une des extrémités de la glissière,
le coin en haut à gauche du titre du menu)
color Gris par défaut
width
Largeur du bouton, de l'interrupteur ou du menu
height Hauteur du bouton, de l'interrupteur ou du menu
axis Axe pour la glissière,
pointant de pos
à l'autre extrémité (comme pour le cylindre ou la flèche)
length Longueur de la glissière
(dans la direction de l'axe)
min, max Valeurs minimales et maximales
pour une glissière
value Valeur de l'interrupteur
(0 ou 1) ou de la glissière (dependant du min et du max spécifiés). L'attribut value de l'interrupteur
ou de la glissière peut être écrit aussi bien que lu. Si vous définissez la valeur de l'interrupteur ou de la glissière,
le contrôle se déplacera à la position qui correspond à cette valeur.
text Texte à afficher sur un bouton ou le titre du menu
text0 Texte à afficher en dessous d'un interrupteur à bascule
(associé à la valeur 0 de l'interrupteur)
text1 Texte à afficher au-dessus d'un interrupteur à bascule
(associé à la valeur 1 de l'interrupteur)
action Spécifie une commande Python
à exécuter lorsqu'un contrôle est manipulé
items Pour les menus seulement,
liste des options à sélectionner. Voici un exemple qui montre comment ajouter une option à un menu nommé m1:
m1.items.append(
('Red', lambda: cubecolor(color.red)) )
Ceci ajoute au menu déroulant une option 'Red' qui fera passer la valeur color.red à la sous-routine cubecolor().
La contruction Python "lambda:" est nécessaire pour le module controls pour avoir un contexte correct ("espace de nom") pour appeler
la routine spécifiée.