Python 3 - Lienzo de Tkinter
El lienzo es un área rectangular destinada a realizar dibujos u otros diseños complejos. Puede colocar gráficos, texto, widgets o marcos en un lienzo.
Sintaxis
Aquí está la sintaxis simple para crear este widget:
w = Canvas ( master, option = value, ... )
Parámetros
master - Esto representa la ventana principal.
options- Aquí está la lista de opciones más utilizadas para este widget. Estas opciones se pueden utilizar como pares clave-valor separados por comas.
No Señor. | Opción y descripción |
---|---|
1 | bd Ancho del borde en píxeles. El valor predeterminado es 2. |
2 | bg Color de fondo normal. |
3 | confine Si es verdadero (el valor predeterminado), el lienzo no se puede desplazar fuera de la región de desplazamiento. |
4 | cursor Cursor utilizado en el lienzo como flecha, círculo, punto, etc. |
5 | height Tamaño del lienzo en la dimensión Y. |
6 | highlightcolor Color mostrado en el resaltado de enfoque. |
7 | relief El relieve especifica el tipo de borde. Algunos de los valores son SUNKEN, RAISED, GROOVE y RIDGE. |
8 | scrollregion Una tupla (w, n, e, s) que define el tamaño del área en la que se puede desplazar el lienzo, donde w es el lado izquierdo, n la parte superior, e el lado derecho y s la parte inferior. |
9 | width Tamaño del lienzo en la dimensión X. |
10 | xscrollincrement Si configura esta opción en alguna dimensión positiva, el lienzo se puede colocar solo en múltiplos de esa distancia, y el valor se usará para desplazarse por unidades de desplazamiento, como cuando el usuario hace clic en las flechas en los extremos de una barra de desplazamiento. |
11 | xscrollcommand Si el lienzo es desplazable, este atributo debe ser el método .set () de la barra de desplazamiento horizontal. |
12 | yscrollincrement Funciona como xscrollincrement, pero gobierna el movimiento vertical. |
13 | yscrollcommand Si el lienzo es desplazable, este atributo debe ser el método .set () de la barra de desplazamiento vertical. |
El widget Canvas puede admitir los siguientes elementos estándar:
arc . Crea un elemento de arco, que puede ser una cuerda, una tajada o un arco simple.
coord = 10, 50, 240, 210
arc = canvas.create_arc(coord, start = 0, extent = 150, fill = "blue")
image . Crea un elemento de imagen, que puede ser una instancia de las clases BitmapImage o PhotoImage.
filename = PhotoImage(file = "sunshine.gif")
image = canvas.create_image(50, 50, anchor = NE, image = filename)
line . Crea una línea de pedido.
line = canvas.create_line(x0, y0, x1, y1, ..., xn, yn, options)
oval .Crea un círculo o una elipse en las coordenadas dadas. Toma dos pares de coordenadas; las esquinas superior izquierda e inferior derecha del rectángulo delimitador del óvalo.
oval = canvas.create_oval(x0, y0, x1, y1, options)
polygon . Crea un elemento poligonal que debe tener al menos tres vértices.
oval = canvas.create_polygon(x0, y0, x1, y1,...xn, yn, options)
Ejemplo
Pruebe el siguiente ejemplo usted mismo:
# !/usr/bin/python3
from tkinter import *
from tkinter import messagebox
top = Tk()
C = Canvas(top, bg = "blue", height = 250, width = 300)
coord = 10, 50, 240, 210
arc = C.create_arc(coord, start = 0, extent = 150, fill = "red")
line = C.create_line(10,10,200,200,fill = 'white')
C.pack()
top.mainloop()
Resultado
Cuando se ejecuta el código anterior, produce el siguiente resultado: