7.2. Utilización de Ajustes de la Forma Fácil

Los controles ajustables pueden dividirse más o menos en aquellos que usan y requieren unidades específicas para estos valores, y aquellos que los tratan como número arbitrarios. El grupo que trata los valores como números arbitrarios incluye los controles de rango (barras de desplazamiento y escalas, la barra de progreso y los botones de aumentar/disminuir). Todos estos controles normalmente se ajustan directamente por el usuario con el ratón o el teclado. Tratarán los valores inferior y superior de un ajuste como un rango dentro del cual el usuario puede manipular el valor del ajuste. Por defecto, solo modificarán el valor de un ajuste.

El otro grupo incluye el control de texto, el control de vista, el control de lista compuesta y el control de ventana de desplazamiento. Todos ellos usan valores de píxeles para sus ajustes. Estos controles normalmente se ajustan indirectamente usando barras de desplazamiento. Aunque todos los controles que usan ajustes pueden crear sus propios ajustes o usar los que se les proporcione, normalmente se les querrá dejar la tarea de crear sus propios ajustes. Habitualmente, sobreescribirán todos los valores de configuración de los ajustes que se les proporcionen, salvo el propio valor de ajuste, aunque los resultados son, en general, impredecibles. (Lo que significa que se tendrá que leer el código fuente para descubrirlo, y puede variar entre controles).

Ahora, probablemente se piense... puesto que los controles de texto y las vistas insisten en establecer todos sus parámetros de configuración excepto el valor de ajuste mientras que las barras de desplazamiento solamente tocan el valor del ajuste, si se comparte un objeto ajuste entre una barra de desplazamiento y un control de texto, al manipular la barra de desplazamiento, ¿se ajustará automágicamente el control de texto? ¡Por supuesto que lo hará! De la siguiente manera:

  # crea sus propios ajustes
  viewport = gtk.Viewport()
  # usa los ajustes recién creados para la barra de desplazamiento también
  vscrollbar = gtk.VScrollbar(viewport.get_vadjustment())