Python 如何在tkinter画布中为闭合多段线着色?

Python 如何在tkinter画布中为闭合多段线着色?,python,canvas,tkinter,colors,polyline,Python,Canvas,Tkinter,Colors,Polyline,我想为任何闭合的非相交多段线包围的区域着色。这里有一个 我想要的示例: 将tkinter作为tk导入 类GUI: 定义初始(自、主、x、y): self.master=master self.canvas=tk.canvas(母版,宽度=x,高度=y) self.canvas.pack() polyline=self.canvas.create_线(10,10,10,20,200,300,250,150,10,10) x、 y=500500 root=tk.tk() gui=gui(根,x,y)

我想为任何闭合的非相交多段线包围的区域着色。这里有一个 我想要的示例:

将tkinter作为tk导入
类GUI:
定义初始(自、主、x、y):
self.master=master
self.canvas=tk.canvas(母版,宽度=x,高度=y)
self.canvas.pack()
polyline=self.canvas.create_线(10,10,10,20,200,300,250,150,10,10)
x、 y=500500
root=tk.tk()
gui=gui(根,x,y)
root.mainloop()

我想给多段线画布对象定义的区域上色。

您可以创建多边形而不是多段线。在这种情况下,可以设置填充颜色和轮廓颜色。下面是一个使用示例:

import tkinter as tk


class GUI:
    def __init__(self, master, x, y):
        self.master = master
        self.canvas = tk.Canvas(master, width=x, height=y)
        self.canvas.pack()
        polyline = self.canvas.create_polygon(10, 10, 10, 20, 200, 300, 250, 150, 10, 10, outline="green", fill="blue")


x, y = 500, 500
root = tk.Tk()
gui = GUI(root, x, y)
root.mainloop()

您是否尝试过使用多边形而不是多段线?尝试将这条线替换为polyline=self.canvas。创建线(10,10,10,20,200,300,250,150,10,10)如下:
polyline=self.canvas。创建多边形(10,10,10,20,200,300,250,150,10,10,outline=“black”,fill=“blue”)
。可以为多边形设置填充颜色和轮廓颜色。