画布的边框颜色(tkinter)

6
我可以为您提供帮助,以下是您需要翻译的内容:

我需要帮助更改tkinter中画布的边框颜色。

这是我的代码:

w = int(root.winfo_screenwidth())
loader = Canvas(width=w, height=20, bd=1)
loader.grid(column=0, row=1)

我已经尝试过:

fill="black"
outline="black"
bd="black"
2个回答

10

你可以使用highlightbackground选项来更改高亮环(它也像边框一样,但与实际边框分开)的颜色。(修正,感谢Bryan Oakley评论)

要更改高亮环的粗细,应使用highlightthickness选项。

loader = Canvas(..., highlightthickness=1, highlightbackground="black")

另外,如果你想要移除那个 边框 高亮环,请将 highlightthickness 设置为 0

loader = Canvas(..., highlightthickness=0)

1
术语要小心使用:highlightbackground 并不会直接改变边框的颜色,它会改变高亮环的颜色(高亮环也像边框一样,但与实际边框是分开的)。 - Bryan Oakley
@BryanOakley 啊,抱歉。正在修复中。一如既往地感谢您的提醒。 - Lafexlos

1

tkinter画布允许两个边框Python 3.9 tkinter.TkVersion 8.6)。

一个“普通”边框和一个高亮边框。要更改它们的颜色和厚度属性,请设置bdbghighlightthicknesshighlightbackground命名参数:

obj_tkinter_Canvas = tkinter.Canvas( ..., 
    bd = 2
    bg = 'white'
    highlightthickness  = 1, 
    highlightbackground = 'white'
)

整数是像素边框厚度。背景颜色使用符号名称设置(例如,请参见https://www.tcl.tk/man/tcl8.4/TkCmd/colors.html了解可用颜色名称列表)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接