next up previous contents
suivant: Les menus monter: Les widgets précédent: Le widget Texte   Table des matières


Sous-sections

Les boutons spin

Les boutons spins sont généralement utilisés pour permettre à l'utilisateur de sélectionner une valeur dans un intervalle de valeurs. Ils consistent en une boite d'entrée texte avec des boutons flèches attachés sur le côté. Cliquer sur l'un des boutons fait varier la valeur sur l'échelle des valeurs disponibles. La boîte entrée peut aussi être éditée directement pour entrer une valeur spécifique.

Le bouton spin permet à la valeur d'être entière ou avec un certain nombre de décimales et d'être incrémentée/décrémentée selon des valeurs configurables. L'action de maintenir un bouton enfoncé peut, optionnellement, se traduire par une accélération de la variation de la valeur en fonction de la durée de la pression.

Le bouton spin utilise les ajustements pour prendre des informations à propos de l'échelle des valeurs que le bouton peut prendre. Rappeler vous que le widget ajustement est créé par la fonction suivante et qui montre les informations qu'elle prend en compte :

Les attributs de l'ajustement sont utilisés par les boutons spins sont :

$value : valeur initiale pour le bouton spin

$lower : valeur la plus basse

$upper : valeur la plus haute

$step_increment : valeur d'incrément/décrément en pressant le bouton 1 de la souris

$page_increment : valeur d'incrément/décrément en pressant le bouton 2 de la souris

$page_size : inutilisé

En plus, le bouton 3 de la souris peut être utilisé pour sauter directement à la valeur $upper ou $lower quand on l'utilise pour sélectionner l'un des boutons.

Créer un bouton spin

L'argument $climb_rate prend une valeur entre 0.0 et 1.0 et indique la quantité d'accélération du bouton spin. L'argument $digits spécifie le nombre de décimales que la valeur peut prendre.

Configuration

Un bouton spin peut être reconfiguré après sa création avec :

L'ajustement peut être réglé et retrouvé indépendamment un utilisant les deux fonctions :

Le nombre de décimales peut être changé par :

Valeur

La valeur que le bouton spin est en train d'afficher peut être changée par :

La valeur du bouton spin peut être retrouvée sous la forme d'un nombre décimal ou d'un entier à l'aide de :

Si vous voulez changer la valeur du bouton spin

Le paramètre $direction peut prendre les valeurs :

'forward' et 'backward' change la valeur du bouton spin selon la valeur spécifiée par $increment sauf si $increment vaut 0 auquel cas la valeur est changée à l'aide de la valeur $step_increment de l'ajustement.

'page_forward' et 'page_backward' change simplement la valeur du bouton spin selon $increment.

' home' déclare la valeur à la valeur basse de l'ajustement.

'end' déclare la valeur à la valeur haute de l'ajustement.

'user_defined' change la valeur selon une valeur spécifiée par l'utilisateur.

Comportement

Laissons maintenant les fonctions de réglage et de récupération pour nous intéresser aux fonctions qui agissent sur l'apparence et sur le comportement du bouton spin.

La première de ces fonctions est utilisée pour contraindre la boîte texte du bouton à ne contenir qu'une valeur numérique. Cela empêche l'utilisateur de taper autre chose qu'une valeur numérique.

Vous pouvez indiquer si le bouton est compris entre la valeur la plus basse et la plus haute.

Vous pouvez obliger le bouton à arrondir la valeur au plus proche step_increment qui est déclarée à l'intérieur de l'objet ajustement utilisé par le bouton spin :

Le comportement du bouton peut être modifié par :

Les valeurs possibles de $policy sont soit 'always' soit 'if_valid'. Ces valeurs affectent le comportement du bouton quand l'utilisateur écrit la valeur. Dans le cas de 'if_valid', la valeur du bouton spin ne change que si le texte d'entrée est une valeur numérique comprise entre les valeurs spécifiées par l'ajustement. Autrement le texte est effacé et remplacé par la valeur courante. Dans le cas de 'update_always', on ignore les erreurs en convertissant le texte en valeur numérique.

L'apparence du bouton spin peut être changé avec :

Comme d'habitude, le $shadow_type peut être :

Vous pouvez demander que le bouton se mette à jour lui-même :

Exemple

Il est l'heure de l'exemple.

Spin Button Example


next up previous contents
suivant: Les menus monter: Les widgets précédent: Le widget Texte   Table des matières
LE BORGNE Patrice 2001-01-11