Чтобы нарисовать многоугольник в 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. Вы можете изменить координаты и внешний вид в соответствии со своими потребностями.