tkinter画布未绘制顶部和左侧线条

时间:2019-03-24 02:31:31

标签: tkinter tkinter-canvas

我正在尝试使用tkinter画布绘制网格。逻辑非常简单:对于网格中的每个节点,我都使用其左上角和右下角绘制一个矩形[下面的代码]。

问题在于tkinter不会分别渲染第一列和第一行中节点的左边界和上边界。就像tkinter会将画布偏移少量像素。 是否有配置可纠正此问题?我当前的解决方法是从cellWcellH中减去一些小的值,然后偏移每个节点的x1和{{1 }} ...这很hacky。 missing left and top borders

我没有做任何奇怪的事情,只是在根窗口上做一个简单的画布。

y1

1 个答案:

答案 0 :(得分:0)

我发现有关画布的一件令人讨厌的事情是边框是坐标空间的一部分。当您在左边缘画一条线时,它会被边框遮住。

  

是否有配置可以纠正此问题?

是的。

您可以通过完全关闭与边框有关的属性来解决此问题:

canvas = tk.Canvas(window, width=winW, height=winH, 
                   borderwidth=0, highlightthickness=0)

如果希望在画布周围有某种边框,可以将画布放在框架中,然后使用该框架绘制边框。