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