我设法创建了一个具有给定半径,起点和多个点的函数。它将创建一个大圆圈,并且通过这个圆圈将创建4个小圆圈。 我想在背景上添加一个网格,从左上角开始每隔100个像素显示TKinter中的Y轴和X轴。坐标原点应该是左上角。 例如,如果屏幕是300x300,则窗口将在其X轴上具有3条线(100,200和300),从左到右,从上到下。 网格作为坐标系。
我如何创建法线的示例。我使用一个包含2点起点和终点的线类:
rootWindow = Tkinter.Tk()
rootFrame = Tkinter.Frame(rootWindow, width=1000, height=800, bg="white")
rootFrame.pack()
canvas = Tkinter.Canvas(rootFrame, width=1000, height=800, bg="white")
canvas.pack()
def draw_line(l):
"Draw a line with its two end points"
draw_point(l.p1)
draw_point(l.p2)
# now draw the line segment
x1 = l.p1.x
y1 = l.p1.y
x2 = l.p2.x
y2 = l.p2.y
id = canvas.create_line(x1, y1, x2, y2, width=2, fill="blue")
return id
答案 0 :(得分:3)
这将在画布上为您创建一个网格
import tkinter as tk
def create_grid(event=None):
w = c.winfo_width() # Get current width of canvas
h = c.winfo_height() # Get current height of canvas
c.delete('grid_line') # Will only remove the grid_line
# Creates all vertical lines at intevals of 100
for i in range(0, w, 100):
c.create_line([(i, 0), (i, h)], tag='grid_line')
# Creates all horizontal lines at intevals of 100
for i in range(0, h, 100):
c.create_line([(0, i), (w, i)], tag='grid_line')
root = tk.Tk()
c = tk.Canvas(root, height=1000, width=1000, bg='white')
c.pack(fill=tk.BOTH, expand=True)
c.bind('<Configure>', create_grid)
root.mainloop()