Tkinter.canvas.create_window创建两个像素的边框-是否抑制它?

问题描述

有人能建议我如何抑制外部画布的内部像素的2像素边框吗?例如-您可以看到边框:

w.mainloop()
w=tk.Tk()
f=tk.Frame(w,width=300,height=300,bg='yellow')
f.pack()
c_outer=tk.Canvas(f,width=20,height=20,bg='red')
c_outer.pack()
c_inner=tk.Canvas(c_outer,width=10,height=10,bg='blue')
c_outer.create_window(0,anchor=tk.NW,window=c_inner)
c_inner2=tk.Canvas(c_outer,bg='green')
c_outer.create_window(10,10,window=c_inner2)

任何内部画布的内容均由2像素边框限制。 感谢您的帮助。

解决方法

create_window未添加任何内容。如果您看到边框,那是因为边框是小部件的一部分,而不是因为create_window正在添加边框。

许多小部件都有边框和 highlightthickness 。后者用于在具有键盘焦点的窗口小部件周围创建环。

如果您不想在小部件边缘周围放置任何装饰,则需要将borderwidthhighlightthickness都设置为零。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...