Vous êtes à peu près ici : Accueil  »   tutoriel PyGTK  »   PyGTK : sommaire

8.2. HScale et VScale : les gradateurs

Les gradateurs permettent à l'utilisateur de sélectionner et de manipuler une valeur dans un intervalle donné, ceci graphiquement. Ils peuvent servir, par exemple, à ajuster le degré d'agrandissement de l'aperçu d'une image, à contrôler la luminosité d'une couleur, ou encore à spécifier le nombre de minutes d'inactivité avant le lancement d'un économiseur d'écran.

8.2.1. Créer un gradateur

Tout comme pour les barres de défilement, il existe un type de widget pour les gradateurs verticaux et un autre pour les horizontaux (la majorité des programmeurs semble préférer ces derniers). Malgré tout, vu qu'ils fonctionnent de la même manière, nous ne les traiterons pas séparément. Les méthodes suivantes créent respectivement un gradateur vertical et un gradateur horizontal :

  gradateurv = gtk.VScale(adjustment=None)

  gradateurh = gtk.HScale(adjustment=None)

L'argument adjustment (ajustement) attend une référence à un ajustement déjà créé avec gtk.Adjustment(). Si vous ne lui en fournissez pas, la méthode en créera un anonyme dont toutes les valeurs vaudront 0.0 (ce qui n'est pas très utile ici). Afin de vous y retrouver, vous pourriez créer un ajustement dont vous fixeriez la page_size à 0.0, de sorte que sa valeur upper corresponde bien à la plus grande valeur que l'utilisateur peut sélectionner (si vous êtes déjà complètement perdu, relisez la section sur les ajustements pour mieux comprendre leur rôle, leur processus de création et leur manipulation).

8.2.2. Méthodes et signaux (enfin, au moins méthodes...)

Les gradateurs peuvent afficher un nombre représentant leur valeur courante à côté de la coulisse. Cette option, activée par défaut, peut être modifiée avec la méthode :

  gradateur.set_draw_value(draw_value)

Comme vous l'avez sûrement deviné, draw_value (valeur d'affichage) vaut soit TRUE soit FALSE, chacune de ces deux expressions entrainant les conséquences que l'on peut en attendre.

La valeur affichée par un gradateur est arrondie par défaut au premier chiffre après la virgule, comme la valeur de son ajustement. Vous pouvez changer ceci avec la méthode suivante :

  gradateur.set_digits(digits)

... où digits est le nombre de décimales. Vous pouvez en demander autant que vous le souhaitez, mais sachez que seules les 13 premières seront réellement affichées.

Enfin, la valeur peut être affichée à différents endroits autour de la coulisse :

  gradateur.set_value_pos(pos)

L'argument pos peut prendre l'une des valeurs suivantes :

  POS_LEFT	# à gauche
  POS_RIGHT	# à droite
  POS_TOP	# au-dessus
  POS_BOTTOM	# au-dessous

Si vous placez la valeur le long de la coulisse (au-dessus ou au-dessous d'un gradateur horizontal, par exemple), elle suivra le curseur dans ses déplacements.