Как рисовать полигоны в Tkinter: методы и примеры кода

Чтобы нарисовать многоугольник в Tkinter, вы можете использовать различные методы. Вот несколько примеров:

Метод 1: использование метода create_polygonвиджета Canvas.

import tkinter as tk
def draw_polygon():
    points = [50, 50, 150, 50, 100, 150]  # Specify the coordinates of the polygon vertices
    canvas.create_polygon(points, outline='black', fill='red')  # Create the polygon on the canvas
root = tk.Tk()
canvas = tk.Canvas(root, width=200, height=200)
canvas.pack()
button = tk.Button(root, text='Draw Polygon', command=draw_polygon)
button.pack()
root.mainloop()

Метод 2: использование метода create_lineдля соединения вершин многоугольника.

import tkinter as tk
def draw_polygon():
    points = [(50, 50), (150, 50), (100, 150)]  # Specify the coordinates of the polygon vertices
    for i in range(len(points)):
        x1, y1 = points[i]
        x2, y2 = points[(i + 1) % len(points)]  # Connect the last point with the first point
        canvas.create_line(x1, y1, x2, y2, fill='red')  # Create lines connecting the vertices
root = tk.Tk()
canvas = tk.Canvas(root, width=200, height=200)
canvas.pack()
button = tk.Button(root, text='Draw Polygon', command=draw_polygon)
button.pack()
root.mainloop()

Метод 3. Использование объекта Polygonиз библиотеки shapelyдля вычисления координат.

import tkinter as tk
from shapely.geometry import Polygon
def draw_polygon():
    polygon = Polygon([(50, 50), (150, 50), (100, 150)])  # Create a Polygon object
    for i in range(len(polygon.exterior.coords) - 1):
        x1, y1 = polygon.exterior.coords[i]
        x2, y2 = polygon.exterior.coords[i + 1]  # Connect the last point with the first point
        canvas.create_line(x1, y1, x2, y2, fill='red')  # Create lines connecting the vertices
root = tk.Tk()
canvas = tk.Canvas(root, width=200, height=200)
canvas.pack()
button = tk.Button(root, text='Draw Polygon', command=draw_polygon)
button.pack()
root.mainloop()

Это всего лишь несколько методов рисования полигонов в Tkinter. Вы можете изменить координаты и внешний вид в соответствии со своими потребностями.