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 –
# 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()
geeks = 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.
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: