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: