📜  Python Tkinter |使用 Canvas 类创建不同类型的线条

📅  最后修改于: 2022-05-13 01:54:38.143000             🧑  作者: Mango

Python Tkinter |使用 Canvas 类创建不同类型的线条

在 Tkinter 中,Canvas.create_line() 方法用于在任何画布中创建线条。这些线条只能在画布上看到,所以首先,您需要创建一个 Canvas 对象,然后将其打包到主窗口中。

句法:

Canvas.create_line(x1, y1, x2, y2, ...., options = ...)

注意:创建一条线至少需要 4 个点,但您也可以添加多个点来创建不同的图纸。
类参数:

下面是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()

输出: