我遇到过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,请注意红色,蓝色和绿色线条在两个方向上均不显示。仅出现黑线。我尝试搜索,但找不到与此问题相关的任何内容。先感谢您!

最佳答案

borderwidthhighlightthickness设置为零。边框绘制在画布的边界内。

w = Canvas(..., borderwidth=0, highlightthickness=0)

关于python - Python-Tkinter( Canvas )-缺少左上角像素吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47735062/

10-12 21:12