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 puerto, el control de lista compuesta y el control de ventana de desplazamiento. Todos estos controles usan valores de píxeles para sus ajustes. Todos 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 les proporciones, normalmente querrás dejarles a ellos la tarea de crear sus propios ajustes. Normalmente, sobreescribirán todos los valores de los ajustes que les proporciones, excepto el propio valor, pero los resultado son, en general, impredecibles (lo que significa que tendrás que leer el código fuente para descubrirlo, y puede ser diferente entre los controles).
Ahora, probablemente estes pensando, ya que los controles de texto y los puertos insisten en establecer todos los parámetros de sus ajustes excepto el valor, mientras que las barras de desplazamiento solo tocan el valor del ajuste, si compartes 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á! Tal y como esto:
# 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()) |