如何在 tkinter 画布中为封闭的多段线着色?

问题描述 投票:1回答:1

我想给任何封闭的不相交的多段线所包围的区域上色。下面是我想要的一个例子。

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_line(10, 10, 10, 20, 200, 300, 250, 150, 10, 10)


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

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

python canvas tkinter colors polyline
1个回答
1
投票

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

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()
© www.soinside.com 2019 - 2024. All rights reserved.