Tk - Widgets de lienzo

El lienzo se utiliza para proporcionar áreas de dibujo. La sintaxis para el widget de lienzo se muestra a continuación:

canvas canvasName options

Opciones

Las opciones disponibles para el widget de lienzo se enumeran a continuación en la siguiente tabla:

No Señor. Sintaxis y descripción
1

-background color

Se utiliza para establecer el color de fondo del widget.

2

-closeenough distance

Establece la proximidad del cursor del mouse a un elemento visualizable. El valor predeterminado es 1.0 píxel. Este valor puede ser una fracción y debe ser positivo.

3

-scrollregion boundingBox

El cuadro delimitador para el área total de este lienzo.

4

-height number

Se utiliza para establecer la altura del widget.

5

-width number

Establece el ancho del widget.

6

-xscrollincrement size

La cantidad de desplazamiento horizontal cuando se solicita el desplazamiento.

7

-yscrollincrement size

La cantidad para desplazarse verticalmente cuando se solicita el desplazamiento.

A continuación se muestra un ejemplo simple para el widget de lienzo:

#!/usr/bin/wish

canvas .myCanvas -background red -width 100 -height 100 
pack .myCanvas

Cuando ejecutamos el programa anterior, obtendremos el siguiente resultado:

Widgets para dibujar en lienzo

La lista de widgets disponibles para dibujar en lienzo se enumera a continuación:

No Señor. Widget y descripción
1 Línea

Dibuja una línea.

2 Arco

Dibuja un arco.

3 Rectángulo

Dibuja un rectángulo.

4 Oval

Dibuja un óvalo.

5 Polígono

Dibuja un polígono.

6 Texto

Dibuja un texto.

7 Mapa de bits

Dibuja un mapa de bits.

8 Imagen

Dibuja una imagen.

A continuación se muestra un ejemplo que utiliza diferentes widgets de lienzo:

#!/usr/bin/wish

canvas .myCanvas -background red -width 200 -height 200 
pack .myCanvas
.myCanvas create arc 10 10 50 50 -fill yellow
.myCanvas create line 10 30 50 50 100 10 -arrow both -fill yellow -smooth true
   -splinesteps 2
.myCanvas create oval 50 50 100 80 -fill yellow
.myCanvas create polygon 50 150 100 80 120 120 100 190 -fill yellow -outline green
.myCanvas create rectangle 150 150 170 170  -fill yellow
.myCanvas create text 170 20 -fill yellow -text "Hello" -font {Helvetica -18 bold}
.myCanvas create bitmap 180 50 -bitmap info

Cuando ejecutamos el programa anterior, obtendremos el siguiente resultado: