我正在用tkinter构建一个GUI,除了一件使我烦恼的事情之外,其他一切都做得很好。我已经绘制了两个画布,并在tk上将它们网格化。Tk()根窗口位于row = 0,col = 0和row = 1,col = 0上。我将他们的背景设置为“红色”和“黄色”。
运行该程序后,我希望画布完全重叠(红色区域结束时,黄色应该开始)。但是,有一个狭窄而烦人的白色空间将画布隔开。我的主根窗口是“ 800x640”。两个画布的高度分别为590和50。数学似乎正确。我也尝试使用.pack()而不是grid。结果相同。这是代码:
watch = tk.Tk()
watch.geometry('800x640')
#app = Application_GUI(watch).pack()
canvas = tk.Canvas(watch, width=800, height=50, bg='red', bd=0)
canvas2 = tk.Canvas(watch, width=800, height=590, bg='yellow')
canvas.grid(row=0, column=0, pady=0)
canvas2.grid(row=1, column=0, pady=0)
watch.mainloop()
我已经四处搜寻,但找不到解决此问题的方法。我注意到,如果我增加第一个画布的高度,白色空间会被覆盖,但是我不想这样做,我想了解为什么当我的画布的高度相加时,togheter给出了根窗口的高度时,为什么我的画布会留下额外的空间。 请帮助我了解此问题,并帮助我找到解决方案,以消除该烦人的空白。谢谢。
编辑:正如jasonharper提到的,highlightthickness = 0解决了这个问题。