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: