Python Tkinter Lienzo (Canvas)
El widget Lienzo (Canvas) de Python Tkinter, al igual que el lienzo en HTML5, se utiliza para dibujar. Puede colocar gráficos, texto, widgets o marcos en el lienzo.
Sintaxis
El formato de la sintaxis es el siguiente:
w = Canvas ( master, option=value, ... )
master: el contenedor padre del botón.
options: opciones disponibles, es decir, las propiedades configurables del botón. Estas opciones pueden establecerse en forma de clave = valor, separadas por comas.
| N.º | Opciones y descripción |
|---|---|
| 1 | bd Ancho del borde, en píxeles, por defecto 2 píxeles. |
| 2 | bg Color de fondo |
| 3 | confine Si es true (por defecto), el lienzo no puede desplazarse fuera del área desplazable. |
| 4 | cursor Configuración de la forma del cursor, como arrow, circle, cross, plus, etc. |
| 5 | height Altura |
| 6 | highlightcolor Color de resaltado |
| 7 | relief Estilo del borde, valores opcionales: FLAT, SUNKEN, RAISED, GROOVE, RIDGE. Por defecto es FLAT. |
| 8 | scrollregion Una tupla (w, n, e, s) que define el área máxima desplazable del lienzo; w es la izquierda, n es la parte superior, e es la derecha, s es la parte inferior. |
| 9 | width El tamaño del lienzo en el eje X. |
| 10 | xscrollincrement La cantidad utilizada para solicitar el desplazamiento horizontal. |
| 11 | xscrollcommand Barra de desplazamiento horizontal; si el lienzo es desplazable, esta propiedad es el método .set() de la barra de desplazamiento horizontal. |
| 12 | yscrollincrement Similar a xscrollincrement, pero en dirección vertical. |
| 13 | yscrollcommand Barra de desplazamiento vertical; si el lienzo es desplazable, esta propiedad es el método .set() de la barra de desplazamiento vertical. |
El widget Canvas admite las siguientes opciones estándar:
arc: crea un sector circular
coord = 10, 50, 240, 210 arc = canvas.create_arc(coord, start=0, extent=150, fill="blue")
image: crea una imagen
filename = PhotoImage(file = "sunshine.gif") image = canvas.create_image(50, 50, anchor=NE, image=filename)
line: crea una línea
line = canvas.create_line(x0, y0, x1, y1, ..., xn, yn, options)
oval: crea un círculo
oval = canvas.create_oval(x0, y0, x1, y1, options)
polygon: crea un polígono con al menos tres vértices
oval = canvas.create_polygon(x0, y0, x1, y1,...xn, yn, options)
Ejemplo
En el ejemplo, al hacer clic en el botón se mostrará un mensaje:
Ejemplo
El resultado de la prueba es el siguiente:
Otras extensiones