Tabla de contenidos
GTK tiene varios controles que pueden ser ajustados visualmente por el usuario usando el ratón o el teclado, tales como los controles de rango, descritos en la sección Controles de Rango. También hay unos cuantos controles que visualizan una parte ajustable de un área de datos mayor, tales como el control de texto y el control de puerto.
Obviamente, una aplicación necesita ser capaz de reaccionar ante los cambios que el usuario realiza en los controles de rango. Una forma de hacer esto sería que cada control emitiera su propio tipo de señal cuando su ajuste cambiara y, o bien pasa el nuevo valor al manejador de señal, o requiere que se mire dentro de la estructura de datos del control para ver el nuevo valor. Pero puede que también quieras conectar los ajustes de varios controles juntos, para que ajustando uno se ajusten los otros. El ejemplo más obvio de esto es conectar una barra de desplazamiento a un puerto o a un área de texto desplazable. Si cada control tuviera su propia manera de manipular el valor del ajuste, entonces el programador tendría que escribir sus propios manejadores de señales para traducir entre la salida de la señal de un control y la entrada del método de ajuste de otro control.
GTK arregla este problema usando el objeto Adjustment , que no es un control sino una manera de que los controles almacenen y pasen la información de ajuste de una forma abstracta y flexible. El uso más obvio de Adjustment es almacenar los parámetros de configuración y los valores de los controles de rango como las barras de desplazamiento y los controles de escala. Sin embargo, como la clase Adjustments deriva de Object, también tiene unas características especiales más alla de ser estructuras de datos normales. La más importante es que pueden emitir señales, como los controles, y estas señales no sólo pueden ser usadas para permitir a tus programas reaccionar a la entrada de usuario en controles ajustables, sino que pueden propagar valores de ajuste de una forma transparente entre controles ajustables.
Verás como los ajustes encajan entre sí cuando veas otros controles que los incorporan: Barras de Progreso, Puertos, Ventanas de Desplazamiento, y otros.
Muchos de los controles que usan ajustes lo hacen automáticamente, pero más tarde se mostrarán casos en los que puedes necesitar crearlos por ti mismo. Puedes crear un ajuste usando:
adjustment = gtk.Adjustment(value=0, lower=0, upper=0, step_incr=0, page_incr=0, page_size=0) |
El argumento value es el valor inicial que quieres darle al ajuste, normalmente corresponde a la posición superior o la posición más a la izquierda de un control ajustable. El argumento lower especifica el valor más bajo que puede tomar el ajuste. El argumento step_incr especifica el incremento más pequeño de los dos incrementos por los que el usuario puede cambiar el valor, mientras que el argumento page_incr es el más grande de los dos. El argumento page_size normalmente se corresponde de alguna manera con el área visible de un control desplazable. El argumento upper se usa para representar la coordenada inferior o la más a la derecha en el hijo de un control desplazable. Por tanto no es siempre el número más grande que el valor puede tomar, ya que el page_size de tales controles normalmente es distinto de cero.