Tkinter坐标从3开始吗?
我有以下代码:
from Tkinter import *
master = Tk()
canvas = Canvas(master, width=640, height=480, bd=0)
canvas.pack()
line_coords = (3, 3, 3, 100)
canvas.create_line(*line_coords, fill='red')
mainloop()
这段代码会在左上角画一条线。可是如果我把line_coords改成(2, 2, 2, 100),这条线就不显示了。感觉好像坐标系统是从(3, 3)开始的。
2 个回答
0
坐标系统可能是从左上角开始的,这个左上角包括操作系统的标题栏和边框,所以你需要稍微向右和向下绘制一些内容。
这通常是和操作系统有关的事情。
3
画布的坐标系统是从零开始的,窗口的边框和你的问题没有关系。
问题在于,你的系统中画布的默认高亮厚度是3,这个厚度遮住了你的线条。试着把高亮厚度设置为零,这样即使x坐标是0,你也能看到你的线条。
不幸的是,边框宽度和高亮厚度都会影响画布的坐标系统。