我遇到过Tkinter的这种怪异行为,其中在x和y方向(x = 0,1,2和y = 0,1,2)上的前3行实际上并未显示。
例如,如果我运行以下代码,
from tkinter import *
master = Tk()
w = Canvas(master, width=200, height=200)
w.pack()
w.create_line(0, 0, 0, 100, fill="red")
w.create_line(1, 0, 1, 100, fill="blue")
w.create_line(2, 0, 2, 100, fill="green")
w.create_line(3, 0, 3, 100, fill="black")
w.create_line(0, 0, 100, 0, fill="red")
w.create_line(0, 1, 100, 1, fill="blue")
w.create_line(0, 2, 100, 2, fill="green")
w.create_line(0, 3, 100, 3, fill="black")
mainloop()
I would get this result,请注意红色,蓝色和绿色线条在两个方向上均不显示。仅出现黑线。我尝试搜索,但找不到与此问题相关的任何内容。先感谢您!
最佳答案
将borderwidth
和highlightthickness
设置为零。边框绘制在画布的边界内。
w = Canvas(..., borderwidth=0, highlightthickness=0)
关于python - Python-Tkinter( Canvas )-缺少左上角像素吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47735062/