Capítulo 8. Controles de Rango

Tabla de contenidos

8.1. Barras de Desplazamiento
8.2. Controles de Escala
8.2.1. Creación de un Control de Escala
8.2.2. Métodos y Señales (bueno, al menos métodos)
8.3. Métodos Comunes de los Rangos
8.3.1. Establecimiento de la Política de Actualización
8.3.2. Obtención y Cambio de Ajustes
8.4. Atajos de Teclas y Ratón
8.5. Ejemplo de Control de Rango

La categoría de los controles de rango incluye el ubícuo control de barra de desplazamiento y el menos común control de escala. Aunque estos dos tipos de controles se usan generalmente para propósitos diferentes, son bastante similares en función e implementación. Todos los controles de rango comparten un conjunto de elementos gráficos, cada uno de los cuales tiene su propia ventana X y recibe eventos. Todos ellos contienen una guía o canal y un deslizador. Arrastrar el deslizador con el puntero del ratón hace que se mueva hacia adelante y hacia atrás en el canal, mientras que haciendo clic en el canal avanza el deslizador hacia la localización del clic, ya sea completamente, o con una cantidad designada, dependiendo del botón del ratón que se use.

Como se mencionó en Adjustments más arriba, todos los controles de rango están asociados con un objeto ajuste, a partir del cual se calcula la longitud del deslizador y su posición con respecto al canal. Cuando el usuario manipula el deslizador, el control de rango cambiará el valor del ajuste.

8.1. Barras de Desplazamiento

Estas son las barras de desplazamiento estándar. Deberían usarse únicamente para desplazar otro control, tal como una lista, una caja de texto, o una vista (viewport), aunque, generalmente, es más fácil de usar la ventana de desplazamiento en la mayoría de los casos. Para otros propósitos, se deberían usar los controles de escala, ya que son más agradables y tienen más funciones.

Existen tipos separados para las barras de desplazamiento horizontales y verticales. No hay demasiado que decir sobre ellos. Los puedes crear con los siguientes métodos:

  hscrollbar = gtk.HSscrollbar(adjustment=None)

  vscrollbar = gtk.VSscrollbar(adjustment=None)

y eso es todo. El argumento adjustment puede ser, o bien una referencia a un Adjustment existente, o bien nada, en cuyo caso se creará uno. Especificar nada puede ser útil en el caso en el que se quiera pasar el ajuste recién creado al constructor de otro control que lo configurará por uno, tal como podría ocurrir con una caja de texto.