Dibujar con tkinter¶
En este capítulo vamos a hacer algunos dibujos en un Canvas.
Dibujar línea¶
Una línea se dibuja con el método create_line(). se le pasan las coordenadas
de ambos extremos
| Linea.py | |
|---|---|
1 2 3 4 5 6 7 8 | |
Lo que muestra:

Dibujar rectángulo¶
Un rectángulo se dibuja con el método create_rectangle(). Las coordenadas se
refieren a la esquina superior izquierda y la inferior derecha:
| Rectangulo.py | |
|---|---|
1 2 3 4 5 6 7 8 | |
Muestra:

Cuadros al azar¶
Vamos a dibujar 100 cuadros al azar:

El programa es:
| Cuadros_azar.py | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Usamos un bucle for para recorrer una secuencia de 0 a 99. Las coordenadas
x,y de cada cuadro se obtienen mediante una llamada a la función randrange(n)
del módulo random. Esta función devuelve un valor entre 0 y n:
x1 = randrange(ancho)
y1 = randrange(alto)
El ancho y alto máximos del cuadro se calculan restando las coordenadas obtenidas de las dimensiones del Canvas:
ancho_max = ancho-x1
alto_max = alto-y1
Con otra llamada a radrange() se obtiene el ancho y alto del cuadro, lo que
sumado a las coordenadas de la esquina superior, nos da las coordenadas de la
inferior.
Rectángulo de color¶
Para rellenar un rectángulo con un color, usar el parámetro fill en la
llamada a create_rectangle:
| Rectangulo2.py | |
|---|---|
1 2 3 4 5 6 7 8 | |

Color y grosor de línea¶
Al dibujar una línea, el color y grosor en pixels se determina mediante:
lienzo.create_line(10,10,500,300, fill="red", width=10)
Los valores por defecto son 'black' y 1
En los rectángulos, se usa fill para el color interior, outline para el
color del marco, y width para su grosor:
lienzo.create_rectangle(100,100,300,200, fill="#008080", outline="red", width=5)
Arcos¶
Un arco es un fragmento de circunferencia u ovalo. Se crea con la función:
lienzo.create_arc()
Por ejemplo:
| Arco.py | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Muestra:

El ancho y alto se refiere al área ocupada por el ovalo completo. El dibujo se inicia a los 45 grados, y se va dibujando en sentido contrario a las agujas del reloj, completando 90 grados de arco.
El estilo puede ser:
- ARC - dibuja solo la línea
- PIESLICE - dibuja el area desde el centro del ovalo, como vemos en el ejemplo
-
CHORD - como PIESLICE, pero uniendo los dos extremos del arco con una línea recta:

Polígonos¶
Un polígono es una figura formada por n lados. Cada lado tiene dos coordenadas, la de inicio y la del final. El polígono se define por una secuencia de coordenadas.
| Poligono.py | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Si la última coordenada no coincide con la primera, tkinter añadirá una coordenada adicional para completar la superficie:
