Python Tkinter |使用 Canvas 类创建不同类型的线条
在 Tkinter 中,Canvas.create_line() 方法用于在任何画布中创建线条。这些线条只能在画布上看到,所以首先,您需要创建一个 Canvas 对象,然后将其打包到主窗口中。
句法:
Canvas.create_line(x1, y1, x2, y2, ...., options = ...)
注意:创建一条线至少需要 4 个点,但您也可以添加多个点来创建不同的图纸。
类参数:
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()
下面是Python代码——
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()
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()
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()
输出:
示例 2:用于在形状中填充颜色。
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()
输出: