8. El widget Canvas
Un Canvas es un área rectangular destinada a dibujar imágenes u otros diseños complejos. En él puede colocar gráficos, texto, widgets o marcos (Frames). Consulte las siguientes secciones para conocer los métodos que crean objetos en Canvas:
.create_arc(): un corte de una elipse. Consulte la Sección 8.7.
.create_bitmap(): una imagen como mapa de bits. Consulte la Sección 8.8.
.create_image(): una imagen gráfica. Consulte la Sección 8.9.
.create_line(): uno o más segmentos de línea. Consulte la Sección 8.10.
.create_oval(): una elipse, use esto también para dibujar círculos, que son un caso especial de una elipse. Consulte la Sección 8.11.
.create_polygon(): un polígono. Consulte la Sección 8.12.
.create_rectangle(): un rectángulo. Consulte la Sección 8.13.
.create_text(): anotación de texto. Consulte la Sección 8.14.
.create_window(): una ventana rectangular. Consulte la Sección 8.15.
Para crear un objeto Canvas:
w=tk.Canvas(parent,
option=value, ...)
El constructor devuelve el nuevo widget de Canvas. Las opciones admitidas incluyen:
|
Tabla 6. Opciones de widget de Canvas |
|
|
bd o
borderwidth |
Ancho del borde
alrededor del exterior del Canvas, ver Sección 5.1. El valor predeterminado
es dos píxeles. |
|
bg o background |
Color de fondo
del Canvas. El valor predeterminado es un gris claro, aproximadamente '#E4E4E4'. |
|
closeenough |
Un flotante que
especifica qué tan cerca debe estar el mouse de un elemento para empujarlo a
un lado dentro de él. El valor predeterminado es 1.0. |
|
confine |
Si es verdadero
(es el valor predeterminado), el Canvas no se puede desplazar fuera del
scrollregion (ver abajo). |
|
cursor |
Cursor
utilizado en el Canvas. Consulte la Sección 5.8. |
|
height |
Tamaño del Canvas
en la dimensión Y. Consulte la Sección 5.1. |
|
highlightbackground |
Color del foco
resaltado cuando el widget no tiene foco. Ver sección 53. |
|
highlightcolor |
Color que se
muestra en el resaltado de foco. |
|
highlightthickness |
Espesor del
foco resaltado. El valor predeterminado es 1. |
|
relief |
El estilo de
relieve del lienzo. El valor predeterminado es tk.FLAT. Consulte la Sección 5.6. |
|
scrollregion |
Una tupla (w,
n, e, s) que define qué tan grande puede ser
el área del Canvas a desplazarse, donde w es el lado izquierdo, n la parte superior, e el lado derecho, y s la parte inferior. |
|
selectbackground |
El color de
fondo que se usará para mostrar los elementos seleccionados. |
|
selectborderwidth |
El ancho del
borde para usar alrededor de los elementos seleccionados. |
|
selectforeground |
El color de
primer plano que se usará para mostrar los elementos seleccionados. |
|
takefocus |
Normalmente, takefocus (consulte la Sección 53) recorrerá este
widget con la tecla de tabulación solo si hay enlaces de teclado establecidos
para ello (consulte la Sección 54). Si establece esta opción en 1, el foco siempre visitará este widget. Para
obtener el comportamiento predeterminado puede configurarlo en ‘ ’. |
|
width |
Tamaño del
Canvas en la dimensión X. Consulte la
Sección 5.1. |
|
xscrollincrement |
Normalmente,
Canvas se puede desplazar horizontalmente a cualquier posición. Puedes
obtener este comportamiento al establecer xscrollincrement en cero. Si configura esta opción en alguna
dimensión positiva, Canvas solo se puede colocar en múltiplos de esa
distancia, y el valor se utilizará para desplazarse por unidades de
desplazamiento, como cuando el usuario hace clic en las flechas en los
extremos de una barra de desplazamiento. Para más información sobre unidades
de desplazamiento, consulte la Sección 22. |
|
xscrollcommand |
Si el Canvas es
desplazable, establezca esta opción en el método .set() de la barra horizontal de desplazamiento. |
|
yscrollincrement |
Funciona como xscrollincrement, pero gobierna el movimiento vertical. |
|
yscrollcommand |
Si el Canvas es
desplazable, esta opción debería ser el método .set() de la barra de desplazamiento vertical. |
8.1. Canvas coordinates (Coordenadas del lienzo)
Debido a que el Canvas puede ser más grande que la ventana y está equipado con barras de desplazamiento para mover el Canvas general alrededor de la ventana, existen dos sistemas de coordenadas para cada uno de ellos:
- Las coordenadas de la ventana de un punto son relativas a la esquina superior izquierda del área en la pantalla donde aparece el Canvas.
- Las coordenadas del Canvas de un punto son relativas a la esquina superior izquierda del lienzo total.
8.2. The Canvas display list (lista de visualización del lienzo)
La lista de visualización se refiere a la secuencia de todos los objetos en el Canvas, desde el fondo (la "parte inferior" de la lista de visualización) hasta el primer plano (la "parte superior").
Si se superponen dos objetos, el que está encima del otro en la lista de visualización significa el que está más cerca del primer plano, que aparecerá en el área de superposición y oscurecerá el siguiente. Por defecto, siempre se crean nuevos objetos en la parte superior de la lista de visualización (y, por lo tanto, delante de todos los demás objetos), pero puede volver a ordenar la lista de visualización.
8.3. Canvas object ID’s (ID de objeto del lienzo)
El ID de objeto de un objeto en el Canvas es el valor devuelto por el constructor para ese objeto. Todos los valores de ID de objeto son enteros simples, y la ID de objeto de un objeto es única dentro de ese Canvas.
8.4. Canvas tags (Etiquetas de lienzo)
Una etiqueta es una cadena que puede asociar con objetos en el Canvas.
- Una etiqueta se puede asociar con cualquier número de objetos en el Canvas, incluido cero.
- Un objeto puede tener cualquier número de etiquetas asociadas, incluido cero.
Las etiquetas tienen muchos usos. Por ejemplo, si está dibujando un mapa en un Canvas, y hay objetos de texto para las etiquetas en los ríos, puede adjuntar la etiqueta 'riverLabel' a todos esos objetos de texto. Esto le permitiría realizar operaciones en todos los objetos con esa etiqueta, como cambiar su color o eliminarlos.
8.5. Canvas tagOrId arguments (Argumentos de etiqueta de lienzo)
Un argumento tagOrId especifica uno o más objetos en el lienzo.
- Si un argumento tagOrId es un entero, se trata como un ID de objeto y solo se aplica al objeto único con ese ID. Consulte la Sección 8.3.
- Si dicho argumento es una cadena, se interpreta como una etiqueta y selecciona todos los objetos que tienen esa etiqueta (si hay alguna). Consulte la Sección 8.4.
8.6. Methods on Canvas widgets (Métodos en widgets de Canvas)
Todos los objetos Canvas son compatibles con estos métodos:
.addtag_above (newTag, tagOrId)
Adjunta una nueva etiqueta al objeto justo encima de la especificada por tagOrId en la lista de visualización. El argumento newTag es la etiqueta que desea adjuntar, como una cadena.
.addtag_all (newTag)
Adjunta la etiqueta dada newTag a todos los objetos en el lienzo.
.addtag_below (newTag, tagOrID)
Adjunta una nueva etiqueta al objeto justo debajo de la especificada por tagOrId en la lista de visualización. El argumento newTag es una cadena de etiqueta.
.addtag_closest (newTag, x, y, halo=None, start=None)
Agrega una etiqueta al objeto más cercano a la coordenada de pantalla (x, y). Si hay dos o más objetos a la misma distancia, se selecciona el que está más arriba en la lista de visualización.
Use el argumento de halo para aumentar el tamaño efectivo del punto. Por ejemplo, un valor de 5 trataría cualquier objeto dentro de 5 píxeles de (x, y) como superpuesto.
Si se pasa una ID de objeto en el argumento de inicio, este método etiqueta el objeto de mayor calificación que está debajo del inicio en la lista de visualización.
.addtag_enclosed
(newTag, x1, y1, x2, y2)
Agregue la etiqueta newTag a todos los objetos que ocurren completamente dentro del rectángulo cuya esquina superior izquierda es (x1, y1) y cuya esquina inferior derecha es (x2, y2).
.addtag_overlapping
(newTag, x1, y1, x2, y2)
Al igual que el método anterior, pero afecta a todos los objetos que comparten al menos un punto con el rectángulo dado.
.addtag_withtag (newTag, tagOrId)
Agrega la etiqueta newTag al objeto u objetos especificados por tagOrId.
.bbox (tagOrId=None)
Devuelve una tupla (x1, y1, x2, y2) que describe un rectángulo que encierra todos los objetos especificados por tagOrId. Si se omite el argumento, devuelve un rectángulo que encierra todos los objetos en el lienzo. La esquina superior izquierda del rectángulo es (x1, y1) y la esquina inferior derecha es (x2, y2).
.canvasx (screenx, gridspacing=None)
Traduce una ventana x coordenada screenx a una coordenada del lienzo. Si se proporciona el espaciado de cuadrícula, la coordenada del lienzo se redondea al múltiplo más cercano de ese valor.
.canvasy (screeny, gridspacing=None)
Traduce una ventana y coordenada screeny a una coordenada del lienzo. Si se proporciona el espaciado de cuadrícula, la coordenada del lienzo se redondea al múltiplo más cercano de ese valor.
.coords (tagOrId, x0, y0, x1, y1, ..., xn, yn)
Si pasa solo el argumento tagOrId, devuelve una tupla de las coordenadas del objeto más bajo o único especificado por ese argumento. El número de coordenadas depende del tipo de objeto. En la mayoría de los casos, será una tupla de 4 (x1, y1, x2, y2) que describe el cuadro delimitador del objeto.
Puede mover un objeto pasando nuevas coordenadas.
.dchars
(tagOrId, first=0, last=first)
Elimina caracteres de un elemento o elementos de texto. Los caracteres entre el primero y el último inclusive se eliminan, donde esos valores pueden ser índices enteros o la cadena 'fin' para significar el final del texto. Por ejemplo, para un lienzo C y un elemento I, C.dchars(I, 1, 1) eliminará el segundo carácter.
.delete (tagOrId)
Elimina el objeto u objetos seleccionados por tagOrId. No se considera un error si ningún elemento coincide con tagOrId.
.dtag (tagOrId, tagToDelete)
Elimina la etiqueta especificada por tagToDelete del objeto u objetos especificados por tagOrId.
.find_above (tagOrId)
Devuelve el número de ID del objeto justo encima del objeto especificado por tagOrId. Si coinciden varios objetos, obtienes el más alto. Devuelve una tupla vacía si le pasa el ID del objeto más alto.
.find_all()
Devuelve una lista de los números de ID de objeto para todos los objetos en el lienzo, de menor a mayor.
.find_below (tagOrId)
Devuelve el ID del objeto justo debajo del especificado por tagOrId. Si coinciden varios objetos, obtienes el más bajo. Devuelve una tupla vacía si le pasa el ID del objeto más bajo.
.find_closest
(x, y, halo=None, start=None)
Devuelve una tupla singleton que contiene el ID del objeto más cercano al punto (x, y). Si no hay objetos calificados, devuelve una tupla vacía.
Use el argumento de halo para aumentar el tamaño efectivo del punto. Por ejemplo, halo=5 trataría cualquier objeto dentro de los 5 píxeles de (x, y) como superpuesto.
Si se pasa una ID de objeto como argumento de inicio, este método devuelve el objeto de mayor calificación que está debajo del inicio en la lista de visualización.
.find_enclosed
(x1, y1, x2, y2)
Devuelve una lista de las ID de objeto de todos los objetos que ocurren completamente dentro del rectángulo cuya esquina superior izquierda es (x1, y1) y la esquina inferior derecha es (x2, y2).
.find_overlapping
(x1, y1, x2, y2)
Al igual que el método anterior, pero devuelve una lista de las ID de objeto de todos los objetos que comparten al menos un punto con el rectángulo dado.
.find_withtag (tagOrId)
Devuelve una lista de los ID de objeto del objeto u objetos especificados por tagOrId.
.focus (tagOrId=None)
Mueve el foco al objeto especificado por tagOrId. Si hay varios de estos objetos, mueve el foco al primero en la lista de visualización que permite un cursor de inserción. Si no hay elementos que califican o el lienzo no tiene foco, el foco no se mueve.
Si se omite el argumento, devuelve la ID del objeto que tiene foco, o ' ' si ninguno de ellos lo tiene, .gettags(tagOrId)
Si tagOrId es un ID de objeto, devuelve una lista de todas las etiquetas asociadas con ese objeto. Si el argumento es una etiqueta, devuelve todas las etiquetas para el objeto más bajo que tiene esa etiqueta.
.icursor (tagOrId, index)
Suponiendo que el elemento seleccionado permite la inserción de texto y tiene el foco, establece el cursor de inserción en el índice, que puede ser un índice entero o la cadena 'end'. No tiene efecto de otra manera.
.index (tagOrId, specifier)
Devuelve el índice entero del especificador dado en el elemento de texto especificado por tagOrId (el más bajo que, si tagOrId especifica varios objetos). El valor de retorno es la posición correspondiente como un entero, con la convención habitual de Python, donde 0 es la posición antes del primer carácter.
El argumento especificador puede ser cualquiera de:
tk.INSERT, para devolver la posición actual del cursor de inserción.
tk.END, para devolver la posición después del último carácter del elemento.
tk.SEL_FIRST, para devolver la posición del inicio de la selección de texto actual. Tkinter generará una excepción tk.TclError si el elemento de texto no contiene actualmente la selección de texto.
tk.SEL_LAST, para devolver la posición después del final de la selección de texto actual, o elevar tk.TclError si el elemento no contiene actualmente la selección.
Una cadena de la forma "@x, y", para devolver el carácter del carácter que contiene las coordenadas del lienzo (x, y). Si esas coordenadas están arriba o a la izquierda del elemento de texto, el método devuelve 0. Si las coordenadas están a la derecha o debajo del elemento, el método devuelve el índice del final del elemento.
.insert (tagOrId, specifier, text)
Inserta la cadena dada en el objeto u objetos especificados por tagOrId, en la posición dada por el argumento especificador.
Los valores del especificador pueden ser:
- Cualquiera de las palabras clave tk.INSERT, tk.END, tk.SEL_FIRST o tk.SEL_LAST. Consulte la descripción del método de índice anterior para la interpretación de estos códigos.
- La posición de la inserción deseada, utilizando la convención normal de Python para posiciones en cadenas.
.itemcget (tagOrId, option)
Devuelve el valor de la opción de configuración dada en el objeto seleccionado (o el objeto más bajo si tagOrId especifica más de uno). Esto es similar al método .cget() para objetos Tkinter.
.itemconfigure (tagOrId, option, ...)
Si no se proporcionan argumentos de opción, devuelve un diccionario cuyas claves son las opciones del objeto especificado por tagOrId (el más bajo, si tagOrId especifica varios objetos).
Para cambiar la opción de configuración del elemento especificado, proporcione uno o más argumentos de palabras clave del formulario option=value.
.move (tagOrId, xAmount, yAmount)
Mueve los elementos especificados por tagOrId agregando xAmount a sus coordenadas x e yAmount a sus coordenadas y.
.postscript (option, ...)
Genera una representación PostScript encapsulada de los contenidos actuales del lienzo. Las opciones incluyen:
colormode
Use 'color' para salida de color, 'gray' para escala de grises o 'mono' para blanco y negro.
file
Si se proporciona, nombra un archivo donde se escribirá el PostScript. Si no se da esta opción, el PostScript se devuelve como una cadena.
height
Indica el tamaño Y del lienzo. El valor predeterminado es la altura visible completa del lienzo.
rotate
Si es falso, la página se representará en orientación vertical, si es cierto, en horizontal.
x
Coordenada del lienzo más a la izquierda del área a imprimir.
y
Coordenada del lienzo superior del área a imprimir.
width
Indica el tamaño X del lienzo para imprimir. El valor predeterminado es el ancho visible del lienzo.
.scale
(tagOrId, xOffset, yOffset, xScale, yScale)
Escala todos los objetos según su distancia desde un punto P=(xOffset, yOffset). Los factores de escala xScale e yScale se basan en un valor de 1.0, lo que significa que no hay escala. Cada punto en los objetos seleccionados por tagOrId se mueve de modo que su distancia x desde P se multiplique por xScale y su distancia y se multiplique por yScale. Este método no cambiará el tamaño de un elemento de texto, pero puede moverlo.
.scan_dragto (x, y, gain=10.0)
Consulte el método .scan_mark() a continuación.
.scan_mark (x, y)
Este método se utiliza para implementar el desplazamiento rápido de un lienzo. La intención es que el usuario presione y mantenga presionado un botón del mouse, luego mueva el mouse hacia arriba para escanear (desplazar) el lienzo horizontal y verticalmente en esa dirección a una velocidad que depende de cuánto se haya movido el mouse desde que se presionó el botón.
Para implementar esta función, vincule el evento de botones del mouse a un controlador que llame a scan_mark(x, y) donde x e y son las coordenadas actuales del mouse. Vincula el evento <Motion> a un controlador que, suponiendo que el botón del mouse aún esté presionado, llama a scan_dragto(x, y, gain) donde x e y son las coordenadas actuales del mouse.
El argumento de ganancia controla la velocidad de escaneo. Este argumento tiene un valor predeterminado de 10.0. Use números más grandes para escanear más rápido.
.select_adjust (oid, specifier)
Ajusta los límites de la selección de texto actual para incluir la posición dada por el argumento del especificador, en el elemento de texto con el ID de objeto oid.
El ancla de selección actual también se establece en la posición especificada. Para una discusión sobre el ancla de selección, vea el método select_from del lienzo a continuación.
Para conocer los valores de specifier, consulte el método de Canvas insert.
.select_clear ()
Elimina la selección de texto actual, si está establecida. Si no hay una selección actual, .select_from(oid, specifier) no hará nada.
Este método establece el ancla de selección en la posición dada por el argumento specifier, dentro del elemento de texto cuya identificación de objeto es dada por oid.
El texto seleccionado actualmente en un Canvas determinado se especifica mediante tres posiciones: la posición inicial, la posición final y el ancla de selección, que puede estar en cualquier lugar dentro de esas dos posiciones.
Para cambiar la posición del texto seleccionado actualmente, use este método en combinación con los métodos select_adjust, select_from y select_to de Canvas (q.v.).
.select_item ()
Si hay una selección de texto actual en este lienzo, devuelva la ID del objeto del elemento de texto que contiene la selección. Si no hay una selección actual, este método devuelve None.
.select_to (oid, specifier)
Este método cambia la selección de texto actual para que incluya el anclaje de selección y la posición dada por el especificador dentro del elemento de texto cuya ID de objeto es dada por oid. Para conocer los valores de specifier, consulte el método insert de Canvas.
.tag_bind
(tagOrId, sequence=None, function=None, add=None)
Vincula eventos a objetos en el Canvas. Para el objeto u objetos seleccionados por tagOrId, asocia la función del controlador con la secuencia de eventos. Si el argumento de agregar es una cadena que comienza con '+', el nuevo enlace se agrega a los enlaces existentes para la secuencia dada, de lo contrario, el nuevo enlace reemplaza al de dicha secuencia.
Para obtener información general sobre enlaces de eventos, consulte la Sección 54.
Tenga en cuenta que los enlaces se aplican a los elementos que tienen esta etiqueta en el momento de la llamada al método tag_bind. Si las etiquetas se eliminan posteriormente de esos elementos, los enlaces persistirán en esos elementos. Si la etiqueta que especifica se aplica más tarde a los elementos que no tenían esa etiqueta cuando llamó a tag_bind, ese enlace no se aplicará a los elementos recién etiquetados.
.tag_lower (tagOrId, belowThis)
Mueve el objeto u objetos seleccionados por tagOrId dentro de la lista de visualización a una posición justo debajo del primer o único objeto especificado por la etiqueta o ID en bellowThis.
Si hay varios elementos con etiqueta tagOrId, se conserva su orden de apilamiento relativo.
Este método no afecta a los elementos de la ventana del lienzo. Para cambiar el orden de apilamiento de un elemento de la ventana, use un método inferior o de elevación en la ventana.
.tag_raise (tagOrId, aboveThis)
Mueve el objeto u objetos seleccionados por tagOrId dentro de la lista de visualización a una posición justo arriba del primer o único objeto especificado por la etiqueta o ID en aboveThis.
Si hay varios elementos con etiqueta tagOrId, se conserva su orden de apilamiento relativo.
Este método no afecta a los elementos de la ventana del Canvas. Para cambiar el orden de apilamiento de un elemento de la ventana, use un método inferior o de elevación en la ventana.
.tag_unbind
(tagOrId, sequence, funcId=None)
Elimina los enlaces para el controlador de funciones y la secuencia de eventos del objeto u objetos del lienzo especificados por tagOrId. Consulte la Sección 54.
.type (tagOrId)
Devuelve el tipo del primer o único objeto especificado por tagOrId. El valor de retorno será una de las cadenas 'arc', 'bitmap', 'image', 'line', 'oval', 'polygon', 'rectangle', 'text' o 'window'.
.xview (tk.MOVETO, fraction)
Este método desplaza el Canvas en relación con su imagen y está destinado a vincularse a la opción de comando de una barra de desplazamiento relacionada. El Canvas se desplaza horizontalmente a una posición dada por desplazamiento, donde 0.0 mueve el Canvas a su posición más a la izquierda y 1.0 a su posición más a la derecha.
.xview
(tk.SCROLL, n, what)
Este método mueve el lienzo hacia la izquierda o hacia la derecha: el argumento que especifica cuánto se puede mover puede ser tk.UNITS o tk.PAGES, n indica cuántas unidades mover el Canvas a la derecha en relación con su imagen (o izquierda, si es negativo)
El tamaño del movimiento para tk.UNITS viene dado por el valor de la opción xscrollincrement del Canvas, consulte la Sección 22.
Para los movimientos de tk.PAGES, n se multiplica por nueve décimas del ancho del lienzo.
.xview_moveto (fraction)
Este método desplaza el Canvas de la misma manera que .xview(tk.MOVETO, fraction).
.xview_scroll
(n, what)
Igual que .xview(tk.SCROLL, n, what).
.yview (tk.MOVETO, fraction)
El desplazamiento vertical equivalente de .xview(tk.MOVETO, ...).
.yview
(tk.SCROLL, n, what)
El desplazamiento vertical equivalente de .xview(tk.SCROLL, ...).
.yview_moveto (fraction)
El equivalente de desplazamiento vertical de .xview().
.yview_scroll (n, what)
Los equivalentes de desplazamiento vertical de .xview(), .xview_moveto() y .xview_scroll().
8.7. Canvas arc objects (Objetos de arco de Canvas)
Un objeto de arco sobre un Canvas, en su forma más general, es un corte en forma de cuña sacado de una elipse. Esto incluye elipses y círculos completos como casos especiales. Consulte la Sección 8.11.
Para crear un objeto de arco en un Canvas C, use:
id=C.create_arc(x0, y0, x1, y1, option, ...)
El constructor devuelve el ID de objeto del nuevo objeto de arco en el Canvas C.
El punto (x0, y0) es la esquina superior izquierda y (x1, y1) la esquina inferior derecha de un rectángulo en el que se ajusta la elipse. Si este rectángulo es cuadrado, obtienes un círculo.
Las diversas opciones incluyen:
|
Tabla 7. Canvas arc options |
|
|
activedash |
Estas opciones
se consideran cuando arc está tk.ACTIVE, es decir, cuando el mouse está sobre el
arco. Por ejemplo, la
opción activefill Especifica el
color interior cuando el arco está activo. Para valores de
opciones, ver dash, fill, outline, outlinestipple, stipple, y width respectivamente. |
|
activefill |
|
|
|
|
|
activeoutline |
|
|
|
|
|
activeoutlinestipple |
|
|
activestipple |
|
|
activewidth |
|
|
dash |
Patrón de
trazos para el contorno. Consulte la Sección 5.13. |
|
dashoffset |
Desplazamiento
del patrón de guión para el contorno. Ver Sección 5.13. |
|
disableddash |
Estas opciones
se aplican cuando el estado del arco es tk.DISABLED. |
|
disabledfill |
|
|
disabledoutline |
|
|
disabledoutlinestipple |
|
|
disabledstipple |
|
|
disabledwidth |
|
|
extent |
Ancho de la
rebanada en grados. El corte comienza en el ángulo dado por la opción de
inicio y se extiende en sentido anti horario para grados de extensión. |
|
fill |
Por defecto, el
interior de un arco es transparente, y fill='' seleccionará este comportamiento. También
puede establecer esta opción en cualquier color y el interior del arco se
rellenará con ese color. |
|
offset |
Patrón de
punteado compensado para el interior del arco. Ver Sección 5.14. |
|
outline |
El color del
borde alrededor del exterior del corte. El valor predeterminado es negro. |
|
outlineoffset |
Patrón de
punteado compensado para el contorno. Ver Sección 5.14. |
|
outlinestipple |
Si se utiliza
la opción de esquema, esta opción especifica un mapa de bits utilizado para
puntear el borde. El valor predeterminado es negro, y ese valor
predeterminado se puede especificar estableciendo outlinestipple='
'. |
|
start |
Ángulo inicial
para el corte, en grados, medido desde la dirección +x. Si se omite, obtienes una elipse completa. |
|
state |
Esta opción es tk.NORMAL por defecto. Se puede establecer en tk.HIDDEN para hacer que el arco sea invisible o tk.DISABLED para atenuar el arco y hacer que no
responda a los eventos. |
|
stipple |
Un mapa de bits
que indica cómo se punteará el relleno interior del arco. El valor
predeterminado es stipple='' (sólido).
Probablemente quieras algo como stipple='gray25'. No tiene ningún efecto a menos que el
relleno se haya configurado en algún color. |
|
style |
El valor
predeterminado es dibujar todo el arco, use style=tk.PIESLICE para este estilo. Para dibujar solo el arco
circular en el borde del corte, use style=tk.ARC. Para dibujar el arco circular y el acorde
(una línea recta que conecta los puntos finales del arco), use style=tk.CHORD. |
|
tags |
Si se trata de
una sola cadena, el arco se etiqueta con esa cadena. Use una tupla de cadenas
para etiquetar el arco con múltiples etiquetas. Ver la Sección 8.4. |
|
width |
Ancho del borde
alrededor del exterior del arco. El valor predeterminado es 1 píxel. |
8.8. Canvas bitmap Objects
Un objeto de mapa de bits en un Canvas se muestra como dos colores, el color de fondo (para valores de 0 datos) y el color de primer plano (para valores 1).
Para crear un objeto de mapa de bits en un lienzo C, use:
id=C.create_bitmap(x,
y, * option, ...)
que devuelve el número de ID entero del objeto de imagen para ese Canvas.
Los valores x e y son el punto de referencia que especifica dónde se coloca el mapa de bits. Las opciones incluyen:
|
Tabla 8. Opciones de mapa de bits |
|
|
activebackground |
Estas opciones
especifican los valores de fondo, mapa de bits y primer plano cuando el mapa
de bits está activo, es decir, cuando el mouse está sobre el mapa de bits. |
|
activebitmap |
El mapa de bits
está posicionado con respecto al punto relativo (x, y). El enlace predeterminado =tk.CENTER, lo que significa que el mapa de bits está
centrado en la posición (x, y). Consulte la
Sección 5.5 para los diversos valores de opción de elección. Por ejemplo, si
especificas anchor=tk.NE, el mapa de
bits se colocará en ese punto (x, y) está ubicado en la esquina noreste (hacia la derecha) del mapa
de bits. |
|
activeforeground |
El color que
aparecerá en donde haya 0 valores en el mapa de bits. El valor predeterminado
es background='', lo que
significa transparente. |
|
anchor |
Se visualiza el
mapa de bits, consulte la Sección 5.7. |
|
background |
El color que
aparecerá en donde haya 0 valores en el mapa de bits. El valor predeterminado
es background='', lo que
significa transparente. |
|
bitmap |
Se visualiza el
mapa de bits, consulte la Sección 5.7. |
|
disabledbackground |
Estas opciones
especifican el fondo, el mapa de bits y el primer plano que se utilizará
cuando el estado del mapa de bits esté DESACTIVADO. |
|
disabledbitmap |
|
|
disabledforeground |
|
|
foreground |
El color que
aparecerá en donde se encuentre el valor 1 en el mapa de bits. El valor predeterminado
es foreground='black'. |
|
state |
De forma
predeterminada, los elementos se crean con start=tk.NORMAL.User.DISABLED para hacer que el elemento se ponga gris y
no responda a los eventos, use tk.HIDDEN para hacer que el elemento sea invisible. |
|
tags |
Si se trata de
una cadena de caracteres, el mapa de bits está etiquetado con la cadena de
caracteres. Use un conjunto de cadenas de caracteres para etiquetar el mapa
de bits con múltiples paletas. Consulte la Sección 8.4. |
8.9. Canvas image Objects (Objetos de imagen de lienzo)
Para mostrar una imagen gráfica en un Canvas C, use:
id=C.create_image(x, y, opción, ...)
Este constructor devuelve el número de ID entero del objeto de imagen para ese Canvas.
La imagen se coloca en relación con el punto (x, y). Las opciones incluyen:
|
Tabla 9. Opciones de imagen de Canvas |
|
|
activeimage |
Se visualiza la
imagen cuando el ratón utiliza el elemento. Valores de la opción, vea la
imagen a continuación. |
|
anchor |
El anclaje
predeterminado es anchor=tk.CENTER, lo que significa que la imagen está centrada en la posición (x,
y). Consulte la Sección 5.5. Por ejemplo, si
especificas anchor=tk.S, la imagen se
colocará en ese punto (x, y) se ubica en el
centro del borde inferior (sur) de la imagen. |
|
disabledimage |
Imagen que se
mostrará cuando el elemento esté inactivo. Para los valores de las opciones,
vea la imagen a continuación. |
|
image |
Se visualiza la
imagen. Consulte la Sección 5.9. |
|
state |
Normalmente,
los objetos de imagen se crean en el estado tk.NORMAL. Establezca este valor en tk.DISABLED para que esté atenuado y no responda al
mouse. Si lo configura en tk.HIDDEN, el elemento es invisible. |
|
tags |
Si se trata de
una sola cadena, la imagen se etiqueta con esa cadena. Use una tupla de
cadenas para etiquetar la imagen con varias etiquetas. Consulte la Sección
8.4. |
8.10. Canvas line Objects (objetos de línea)
En general, una línea puede constar de cualquier número de segmentos conectados de extremo a extremo, y cada segmento puede ser recto o curvo. Para crear un objeto de línea en un Canvas C, use:
id=C.create_line(x0,
y0, x1, y1, ..., xn, yn, option, ...)
La línea pasa por la serie de puntos (x0, y0), (x1, y1), ... (xn, yn). Las opciones incluyen:
|
Tabla 10. Opciones de línea |
|
|
activedash |
Estas opciones
especifican los valores de dash, fill, stipple, y width que se utilizarán cuando la línea esté
activa, es decir, cuando el mouse esté sobre ella. |
|
activefill |
|
|
activestiple |
|
|
activewidth |
|
|
arrow |
El valor
predeterminado es que la línea no tenga puntas de flecha. Use arrow=tk.FIRST para obtener una punta de flecha en el
extremo (x0, y0) de la línea. Use arrow=tk.LAST para obtener una punta de flecha en el otro
extremo. Use arrow=tk.BOTH para puntas de flecha en ambos extremos |
|
arrowshape |
Una tupla (d1,
d2, d3) que describe la forma de las puntas
de flecha agregadas por la opción de flecha. El valor predeterminado es (8,10,3). |
|
capstyle |
Puede
especificar la forma de la línea suave final con esta opción, consulte la
Sección 5.12. La opción predeterminada es tk.BUTT. |
|
dash |
Para producir
una línea discontinua, especifique esta opción, vea la Sección 5.13. La
apariencia predeterminada es una línea continua. |
|
dashoffset |
Si especifica
un patrón dash, el valor
predeterminado es iniciar el patrón especificado al comienzo de la línea. el
guión desactivado establece los mínimos opcionales para especificar que el
inicio del patrón de guión ocurre a una distancia dada después del inicio de
la línea. Ver sección 5.13 |
|
disableddash |
Los valores de dash, fill, stipple, y width que se utilizarán cuando el elemento esté
en el estado tk.DISABLED. |
|
disabledfill |
|
|
disabledstiple |
|
|
disabledwisth |
|
|
fill |
El color a
utilizar en el dibujo de la línea. El valor predeterminado es fill='black' |
|
joinstyle |
Para las líneas
que se componen de más de un segmento, esta opción controla la apariencia de
la unión entre segmentos. Para más detalles, consulte la Sección 5.12. El
estilo predeterminado es ROUND |
|
offset |
Para las líneas
punteadas, el propósito de esta opción es hacer coincidir el patrón punteado
del elemento con estos objetos adyacentes. Ver Sección 5.14. |
|
smooth |
Si es verdadero,
la línea se dibuja como una serie de splines parabólicas que se ajustan al
conjunto de puntos. El valor predeterminado es falso, lo que representa la
línea como un conjunto de segmentos rectos. |
|
splinesteps |
Si la opción
suave es verdadera, cada spline se representa
como un número de segmentos de línea recta. La opción de pasos de spline especifica el número de segmentos
utilizados para aproximar cada sección de la línea, el valor predeterminado
es splinesteps=12. |
|
state |
Normalmente,
las líneas se crean en el estado tk.NORMAL. Establezca esta opción en tk.HIDDEN para que la línea sea invisible,
configúrelo en tk.DISABLED para que no
responda al mouse. |
|
stipple |
Para dibujar
una línea punteada, configure esta opción en un mapa de bits que especifique
el patrón punteado, como stipple='gray 25'. Vea la Sección 5.7. |
|
tags |
Si se trata de
una sola string, la línea está etiquetada con esa string. Use una tupla de
cadenas para etiquetar la línea con varias etiquetas. Ver la Sección 8.4. |
|
width |
El ancho de la
línea. El valor predeterminado es 1 píxel. Consulte la Sección 5.1. |
8.11. Canvas Oval Objects (Objetos ovalados)
Los óvalos, matemáticamente, son elipses, incluidos los círculos como un caso especial. La elipse se ajusta en un rectángulo definido por las coordenadas (x0, y0) de la esquina superior izquierda y las coordenadas (x1, y1) de un punto justo fuera de la esquina inferior derecha.
El óvalo coincidirá con las líneas superior e izquierda de este cuadro, pero se ajustará justo dentro de los lados inferior y derecho.
Para crear una elipse en Canvas use:
id=C.create_oval(x0, y0, x1, y1, option, ...)
que devuelve el ID de objeto del nuevo objeto oval en el Canvas C.
Opciones para óvalos:
|
Tabla 11. Opciones ovales de Canvas |
|
|
activedash |
Estas opciones especifican: - el patrón de guión - el color de relleno - el color de contorno - el patrón de punteado de contorno - el patrón de punteado interior los valores de
ancho de contorno que se utilizarán cuando el óvalo esté en el estado tk.ACTIVE, es decir, cuando el mouse esté sobre el
óvalo. Para conocer los valores de las opciones, vea dash, fill, outline, outlinestipple, stipple y width. |
|
activefill |
|
|
activeoutline |
|
|
activeoutlinestipple |
|
|
activestipple |
|
|
activewidth |
|
|
dash |
Para producir
un borde discontinuo alrededor del óvalo, establezca esta opción en un guión
modelo, consulte la Sección 5.13. |
|
dashoffset |
Cuando se usa
la opción dash, la opción dashoffset se usa para cambiar la alineación del
patrón de trazos del borde en relación con el óvalo. Consulte la Sección 5.14 |
|
disableddash |
Estas opciones
especifican la apariencia del óvalo cuando el estado del elemento es tk.DISABLED. |
|
disabledfill |
|
|
disabledoutline |
|
|
disabledoutlinestipple |
|
|
disabledstipple |
|
|
disabledwidth |
|
|
fill |
La apariencia
predeterminada del interior de un óvalo es transparente, y un valor de
relleno ='' seleccionará
este comportamiento. También puede establecer esta opción en cualquier color
y el interior de la elipse se rellenará con ese color; consulte la Sección
5.3. |
|
offset |
Patrón de
punteado offset del interior. Consulte
la Sección 5.14. |
|
outline |
El color del
borde alrededor del exterior de la elipse. El valor predeterminado es outline='black'. |
|
outlineoffset |
Patrón de
punteado offset del borde. Consulte
la Sección 5.14. |
|
stipple |
Un mapa de bits
que indica cómo se punteará el interior de la elipse. El valor
predeterminado es stipple='', lo que
significa un color sólido. Un valor típico sería stipple='gray25'. No tiene efecto a menos que el relleno se
haya configurado en algún color. Consulte la Sección 5.7. |
|
outlinestipple |
Patrón de
punteado que se utilizará para el borde. Para valores de opciones vea stipple
bellow. |
|
state |
Por defecto,
los elementos ovales se crean en el estado tk.NORMAL. Establezca esta opción en tk.DISABLED para que el óvalo no responda a las
acciones del mouse. Configúrelo en tk.HIDDEN para que el elemento sea invisible. |
|
tags |
Si se trata de
una sola cadena, el óvalo se etiqueta con esa cadena. Usa una tupla de
strings para etiquetar el óvalo con múltiples etiquetas. Consulte la Sección
8.4 |
|
width |
Ancho del borde
alrededor del exterior de la elipse. El valor predeterminado es 1 píxel. Consulte
la Sección 5.1. Si establece
esto en 0 (cero), el
borde no aparecerá. Si establece
esto en 0 (cero) y hace
que el relleno sea transparente, puede hacer que todo el óvalo desaparezca. |
8.12. Objetos de polígono de lienzo
Como se muestra, un polígono tiene dos partes: su contorno y su interior. Su geometría se especifica como una serie de vértices [(x0, y0), (x1, y1), ... (xn, yn)], pero el perímetro real incluye un segmento más desde (xn, yn) hasta (x0, y0) En este ejemplo, hay cinco vértices:
Para crear un nuevo objeto poligonal en Canvas:
id=C.create_polygon(x0, y0, x1, y1, ..., option, ...)
El constructor devuelve la ID del objeto para ese objeto. Opciones:
|
Tabla 12. Opciones de polígono de Canvas |
|
|
activedash |
Estas opciones
especifican la apariencia del polígono cuando está en el estado tk.ACTIVE, es decir, cuando el mouse está sobre él. Para
valores de las opciones, ver dash, fill, outline, outlinestipple, stipple, y width. |
|
activefill |
|
|
activeoutline |
|
|
activeoutlinestipple |
|
|
activestipple |
|
|
activewidth |
|
|
dash |
Use esta opción
para producir un borde discontinuo alrededor del polígono. Consulte la
Sección 5.13. |
|
dashoffset |
Use esta opción
para iniciar el patrón de guiones en algún punto de su ciclo que no sea el
comienzo. Ver sección 5.13 |
|
disableddash |
|
|
disabedfill |
Estas opciones
especifican la apariencia del polígono cuando state es tk.DISABLED. |
|
disabledoutline |
|
|
disabledoutlinestipple |
|
|
disabledstipple |
|
|
disabledwidth |
|
|
fill |
Puede colorear
el interior configurando esta opción. El aspecto predeterminado para el
interior de un polígono es transparente, y puede configurar fill='' para obtener este comportamiento. Consulte
la Sección 5.3 |
|
joinestyle |
Esta opción
controla la apariencia de las intersecciones entre los lados adyacentes del
polígono. Consulte la Sección 5.12. |
|
offset |
Desplazamiento
del patrón de punteado en el interior del polígono. Ver sección 5.14. |
|
outline |
Color del
contorno, por defecto outline=’’, lo que hace que el contorno sea transparente. |
|
outlineoffset |
Stipple offset para el borde.
Consulte la Sección 5.14. |
|
outlinestipple |
Use esta opción
para obtener un borde punteado alrededor del polígono. El valor de la opción
debe ser un mapa de bits, ver sección 5.7 |
|
smooth |
El esquema
predeterminado usa líneas rectas para conectar los vértices, use smooth=0 para obtener ese comportamiento. Si usa smooth=1, obtendrá una curva spline continua. Además, si establece smooth=1, puede enderezar cualquier segmento
duplicando las coordenadas al final de la enseñanza de ese segmento. |
|
splinesteps |
Si la opción smoot es verdadera, cada spline se representa como un número de segmentos
de línea recta. La opción splinesteps especifica el número de segmentos usados para aproximar cada
sección de la línea, el valor por defecto es splinesteps=12. |
|
state |
Por defecto,
los polígonos se crean en el estado tk.NORMAL. Configura esta opción a tk.HIDDEN para hacer el polígono invisible o tk.DISABLED para que no responda al mouse. |
|
stipple |
Un mapa de bits
que indica cómo se punteará el interior del polígono. El valor
predeterminado es stipple='', lo que
significa que es un color sólido. Un valor típico sería stipple='gray25'. No tiene efecto a menos que el relleno se
haya configurado en algún color. Consulte la Sección 5.7. |
|
tags |
Si se trata de
una sola string, el polígono se etiqueta con esa cadena. Usa una tupla de
strings para etiquetar el polígono con múltiples etiquetas. Consulte la
Sección 8.4. |
|
width |
Ancho del
contorno, el valor predeterminado es 1. Consulte la Sección 5.1. |
8.13 Objetos rectangulares
Cada rectángulo se especifica como dos puntos, (x0, y0) es la esquina superior izquierda y (x1, y1) es la ubicación del píxel justo fuera de la esquina inferior derecha.
Por ejemplo, el rectángulo especificado por la esquina superior izquierda (100, 100) y la esquina inferior derecha (102, 102) es un cuadrado de dos píxeles por dos píxeles, incluido el píxel (101, 101) pero no está incluido el (102, 102).
Los rectángulos se dibujan en dos partes:
El contorno se encuentra dentro del rectángulo en sus lados superior e izquierdo, pero fuera del rectángulo en su lado inferior y derecho. La apariencia predeterminada es un borde negro de un píxel de ancho. Por ejemplo, considere un rectángulo con la esquina superior izquierda (10, 10) y la esquina inferior derecha (11, 11). Si no solicita borde (width=0) y relleno verde (fill='green'), obtendrá un píxel verde en (10, 10). Sin embargo, si solicita las mismas opciones con un borde negro (width=1), obtendrá cuatro píxeles negros en (10, 10), (10, 11), (11, 10) y (11, 11).
El relleno es el área dentro del contorno. Su apariencia predeterminada es transparente.
Para crear un objeto rectangular utilice lo siguiente:
id=C.create_rectangle(x0, y0, x1, y1, option, ...)
Este constructor devuelve el ID del objeto del rectángulo en ese Canvas. Las opciones incluyen:
|
Tabla 13. Opciones de rectángulo |
|
|
activedash |
Estas opciones
especifican la apariencia del rectángulo cuando su estado es tk.ACTIVE, es decir, cuando el mouse está encima del
rectángulo. Para valores de las opciones, consulte dash, fill, outline, outlinestipple, stipple y width below. |
|
activefill |
|
|
activeoutline |
|
|
activeoutlinestipple |
|
|
activestipple |
|
|
activewidth |
|
|
dash |
Para producir
un borde discontinuo alrededor del rectángulo, use esta opción para
especificar un patrón de dash. Consulte la
Sección 5.13. |
|
dashoffset |
Use esta opción
para iniciar el patrón de guión del borde en un punto diferente en el ciclo,
consulte la Sección 5.13. |
|
disabledash |
Estas opciones
especifican la apariencia del rectángulo cuando su estado es tk.DISABLED. |
|
disablefill |
|
|
disabledoutline |
|
|
disabledoutlinestipple |
|
|
disabledstipple |
|
|
disabledwidth |
|
|
fill |
Por defecto, el
interior de un rectángulo está vacío, y puede obtener este comportamiento con
fill=''. También puede
establecer la opción en un color, consulte la Sección 5.3. |
|
offset |
Use esta opción
para cambiar el desplazamiento del patrón de punteado interior. Consulte la
Sección 5.14. |
|
outline |
El color del
borde. El valor predeterminado es outline='black'. |
|
outlineoffset |
Use esta opción
para ajustar el desplazamiento del patrón de punteado en el contorno,
consulte la Sección 5.14. |
|
outlinestipple |
Use esta opción
para producir un contorno punteado. Se especifica el patrón por un mapa de
bits, consulte la Sección 5.7. |
|
state |
Por defecto,
los rectángulos se crean en el estado tk.NORMAL. El estado es tk.ACTIVE cuando el mouse está sobre el rectángulo.
Establezca esta opción en tk.DISABLED para atenuar el rectángulo y hacer que no responda a eventos
del mouse. |
|
stipple |
Un mapa de bits
que indica cómo se punteará el interior del rectángulo. El valor
predeterminado es stipple='', lo que
significa un color sólido. Un valor típico sería stipple='gray25'. No tiene ningún efecto a menos que el
relleno se haya establecido en algún color. Ver la Sección 5.7. |
|
tags |
Si se trata de
una sola cadena, el rectángulo se etiqueta con esa cadena. Use una tupla de
cadenas para etiquetar el rectángulo con varias etiquetas. Ver sección 8.4. |
|
width |
Ancho del
borde. El valor predeterminado es 1 píxel. Use width=0 para hacer el borde invisible. Consulte la
Sección 5.1. |
8.14 Objetos de texto de lienzo
Puede mostrar una o más líneas de texto en un Canvas creando un objeto de texto:
id=C.create_text(x,
y, option, ...)
Esto devuelve el ID de objeto del objeto texto de Canvas. Las opciones incluyen:
|
Tabla 14. Opciones de texto de lienzo |
|
|
activefill |
El color del
texto que se utilizará cuando el texto esté activo, es decir, cuando el mouse
esté sobre él. Para conocer los valores de las opciones vea fill. |
|
activestipple |
El patrón de
punteado que se utilizará cuando el texto esté activo. Para conocer los
valores de las opciones vea stipple. |
|
anchor |
El valor
predeterminado es anchor=tk.CENTER, lo que significa que el texto está centrado verticalmente y
horizontalmente alrededor de la posición (x, y). Consulte la Sección 5.5. Por ejemplo, si
especifica anchor=tk.SW, el texto será
colocado de modo que su esquina inferior izquierda esté en el punto (x,
y). |
|
disablefill |
El color del
texto que se utilizará cuando el estado del objeto de texto sea tk.DISABLED. Para conocer los valores de las opciones
vea fill. |
|
disablestipple |
El patrón de
punteado que se utilizará cuando el texto esté deshabilitado. Para conocer
los valores de las opciones vea stipple. |
|
fill |
El color de
texto predeterminado es negro, pero puede representarlo en cualquier color
configurando la opción de relleno para ese color. Consulte la Sección 5.3. |
|
font |
Si no le gusta
la fuente predeterminada, establezca esta opción en cualquier valor de
fuente. Ver la Sección 5.4. |
|
justify |
Para pantallas
de texto de varias líneas, esta opción controla cómo se justifican las
líneas: tk.LEFT (el valor
predeterminado), tk.CENTER o tk.RIGHT. |
|
offset |
El
desplazamiento de punteado que se utilizará para representar el texto. Para
más información, ver Sección 5.14. |
|
state |
Por defecto, el
estado del elemento de texto es tk.NORMAL. Establezca esta opción en tk.DISABLED para hacer que no responda a los eventos
del mouse, o configurarlo en tk.HIDDEN para hacerlo invisible. |
|
stipple |
Un mapa de bits
que indica cómo se punteará el texto. El valor predeterminado es stipple='', Lo que significa sólido. Un valor típico
sería stipple='gray25'. Ver sección sección
5.7. |
|
tags |
Si se trata de
una sola cadena, el objeto de texto se etiqueta con esa cadena. Usa una tupla
de strings para etiquetar el objeto con múltiples etiquetas. Consulte la
Sección 8.4. |
|
text |
El texto que se
mostrará en el objeto, como una cadena. Use caracteres de nueva línea '\n' para forzar saltos de línea. |
|
wisth |
Si no
especifica una opción de ancho , el texto se establecerá dentro de un
rectángulo siempre como la línea más larga. Sin embargo, también puede
establecer la opción de ancho en una dimensión, y cada línea del texto se
dividirá en líneas más cortas, si es necesario, o incluso en palabras, para
caber dentro del ancho especificado. Consulte la Sección 5.1. |
Puede cambiar el texto que se muestra en un elemento de texto.
- Para recuperar el texto de un elemento con ID de objeto I en el Canvas, llame a C.itemcget(I, 'text').
- Para reemplazar el texto de un elemento con ID de objeto I en el Canvas con el texto de una cadena S, llame a C.itemconfigure(I, text=S).
Varios métodos de lienzo le permiten manipular elementos de texto. Consulte la Sección 8.6, especialmente dchars, focus, icursor, index e insert.
8.15 Objetos de ventana en Canvas
Puede colocar cualquier widget de Tkinter en un Canvas utilizando un objeto de ventana. Una ventana es un área rectangular que puede contener un widget Tkinter. El widget debe ser el hijo de la misma ventana de nivel superior que el Canvas, o el hijo de algún widget ubicado en la misma ventana de nivel superior.
Si desea colocar objetos complejos de múltiples widgets en un lienzo, puede usar este método para colocar un widget de Marco (Frame) en el Canvas y luego colocar otros widgets dentro de ese marco.
Para crear un nuevo objeto de ventana en Canvas:
id=C.create_window(x,
y, option, ...)
Esto devuelve la ID del objeto para el objeto de la ventana. Las opciones incluyen:
|
Tabla 15. Opciones de ventana de Canvas |
|
|
anchor |
El valor
predeterminado es anchor=tk.CENTER, lo que significa que la ventana está centrada en la posición (x,
y). Consulte la Sección 5.5. Por ejemplo, si
especifica anchor=tk.E, la ventana se
posicionará de modo que el punto (x, y) esté en el punto medio de su borde derecho
(este). |
|
height |
La altura del
área reservada para la ventana. Si se omite, el tamaño de la ventana se
ajustará a la altura del widget contenido. Consulte la Sección 5.1. |
|
state |
Por defecto,
los elementos de la ventana están en el estado tk.NORMAL. Establezca esta opción en tk.DISABLED para que la ventana no responda a la
entrada del mouse, o tk.HIDDEN para que sea
invisible. |
|
tags |
Si se trata de
una sola cadena, la ventana está etiquetada con esa cadena. Use una tupla de
cadenas para etiquetar la ventana con varias etiquetas. Consulte la Sección
8.4. |
|
wisth |
El ancho del
área reservada para la ventana. Si se omite, el tamaño de la ventana se
ajustará al ancho del widget contenido. |
|
window |
Use window=w donde w es el widget que desea colocar en el
Canvas. Si esto se
omite inicialmente, posteriormente puede llamar a C.itemconfigure(id,
window=w) para colocar el widget w sobre el Canvas, donde ID es el ID del
objeto de la ventana. |
No hay comentarios:
Publicar un comentario