In Tkinter, Canvas.create_line() method is used to create lines in any canvas. These lines can only be seen on canvas so first, you need to create a Canvas object and later pack it into the main window.
Syntax:
Canvas.create_line(x1, y1, x2, y2, ...., options = ...)
Note: Minimum of 4 points are required to create a line, but you can also add multiple points to create different drawings.
Class parameters:
Data members used:
master
canvas
Member functions used for the given class: create() method
Widgets used: Canvas
Tkinter method used:
canvas.create_line()
pack()
title()
geometry()
Below is the Python code –
Python3
# Imports each and every method and class # of module tkinter and tkinter.ttk from tkinter import * from tkinter.ttk import * class GFG: def __init__( self , master = None ): self .master = master # Calls create method of class GFG self .create() def create( self ): # This creates a object of class canvas self .canvas = Canvas( self .master) # This creates a line of length 200 (straight horizontal line) self .canvas.create_line( 15 , 25 , 200 , 25 ) # This creates a lines of 300 (straight vertical dashed line) self .canvas.create_line( 300 , 35 , 300 , 200 , dash = ( 5 , 2 )) # This creates a triangle (triangle can be created by other methods also) self .canvas.create_line( 55 , 85 , 155 , 85 , 105 , 180 , 55 , 85 ) # This pack the canvas to the main window and make it expandable self .canvas.pack(fill = BOTH, expand = True ) if __name__ = = "__main__" : # object of class Tk, responsible for creating # a tkinter toplevel window master = Tk() Lazyroar = GFG(master) # This sets the title to Lines master.title( "Lines" ) # This sets the geometry and position of window # on the screen master.geometry( "400x250 + 300 + 300" ) # Infinite loop breaks only by interrupt master.mainloop() |
Output:
Example 2: For filing color in the shapes.
Python3
from tkinter import * root = Tk() root.title( "canvas line" ) root.geometry( "555x555" ) our_canvas = Canvas(root,width = 300 ,height = 200 ,bg = "white" ) our_canvas.pack() #creating rectangle our_canvas.create_rectangle( 50 , 150 , 250 , 50 ,fill = "blue" ) root.mainloop() |
Output: