Python Tkinter | Crea diferentes formas usando la clase Canvas

En Tkinter, la clase Canvas se usa para crear diferentes formas con la ayuda de algunas funciones que se definen en la clase Canvas. Cualquier forma que crea la clase Canvas requiere un lienzo, por lo que antes de crear cualquier forma, se requiere un objeto Canvas y debe empaquetarse en la ventana principal.
 

Métodos de lienzo para formas: 
Canvas.create_oval(x1, y1, x2, y2, options = …): Se utiliza para crear un óvalo, una rebanada de pastel y una cuerda. 
Canvas.create_rectangle(x1, y1, x2, y2, options = …): Se utiliza para crear rectángulos y cuadrados. 
Canvas.create_arc(x1, y1, x2, y2, options = …) Esto se usa para crear un arco. 
Canvas.create_polygon(coordinates, options = …) Esto se usa para crear formas válidas. 
 

Estamos usando una clase para mostrar el funcionamiento de funciones que ayudan a crear diferentes formas.
Parámetros de clase – 
 

Miembros de datos usados: maestro, lienzo
Funciones de miembro usadas: método create()
Widgets usados: Canvas
Método Tkinter usado: 
Canvas.create_oval() 
Canvas.create_rectangle() 
Canvas.create_arc() 
Canvas.create_polygon() 
pack() 
title() 
geometría() 
 

A continuación se muestra el código de Python:
 

Python3

# Imports each and every method and class
# of module tkinter and tkinter.ttk
from tkinter import * from tkinter.ttk import * class Shape:
    def __init__(self, master = None):
        self.master = master
         
        # Calls create method of class Shape
        self.create()
     
    def create(self):
         
        # Creates a object of class canvas
        # with the help of this we can create different shapes
        self.canvas = Canvas(self.master)
 
        # Creates a circle of diameter 80
        self.canvas.create_oval(10, 10, 80, 80,
                            outline = "black", fill = "white",
                            width = 2)
         
        # Creates an ellipse with horizontal diameter
        # of 210 and vertical diameter of 80
        self.canvas.create_oval(110, 10, 210, 80,
                            outline = "red", fill = "green",
                            width = 2)
         
        # Creates a rectangle of 50x60 (heightxwidth)
        self.canvas.create_rectangle(230, 10, 290, 60,
                                outline = "black", fill = "blue",
                                width = 2)
         
        # Creates an arc of 210 deg
        self.canvas.create_arc(30, 200, 90, 100, start = 0,
                          extent = 210, outline = "green",
                          fill = "red", width = 2)
         
        points = [150, 100, 200, 120, 240, 180,
                  210, 200, 150, 150, 100, 200]
         
        # Creates a polygon
        self.canvas.create_polygon(points, outline = "blue",
                              fill = "orange", width = 2)
        # Pack the canvas to the main window and make it expandable
        self.canvas.pack(fill = BOTH, expand = 1)
 
if __name__ == "__main__":
     
    # object of class Tk, responsible for creating
    # a tkinter toplevel window
    master = Tk()
    shape = Shape(master)
 
    # Sets the title to Shapes
    master.title("Shapes")
 
    # Sets the geometry and position
    # of window on the screen
    master.geometry("330x220 + 300 + 300")
 
    # Infinite loop breaks only by interrupt
    mainloop()

Producción: 
 

Publicación traducida automáticamente

Artículo escrito por sanjeev2552 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *