如何去除Tkinter中Canvas组件的灰色背景
嘿,刚接触Tkinter就敢动手做GUI练手,已经超棒啦!完全不用在意代码杂乱,谁第一次写都是这样的,慢慢摸索就好😉
针对你问的去除Canvas组件周围的灰色背景,当然是可以实现的,给你几个简单的方法:
解决方法
1. 让Canvas背景和主窗口保持一致
你看到的灰色其实是Canvas默认的背景色,只要把它的背景色设置成和主窗口一样就行。如果主窗口用的是默认颜色,你可以直接获取主窗口的背景色来赋值:
# 创建Canvas时加上bg参数 canvas = tk.Canvas(window, width=canvas_width, height=canvas_height, bg=window.cget("bg"))
window.cget("bg")会自动获取主窗口的背景色,以后你要是改了主窗口的背景,Canvas也会跟着同步,不用手动改两次~
2. 去掉Canvas的高亮边框
有时候你看到的灰色“背景”其实是Canvas获得焦点时显示的高亮边框,把这个边框厚度设为0就能去掉:
canvas = tk.Canvas(window, width=canvas_width, height=canvas_height, highlightthickness=0)
3. 组合两种方法(最稳妥)
保险起见,把两个参数都加上,这样不管是背景色还是高亮边框的问题都能解决:
canvas = tk.Canvas(window, width=canvas_width, height=canvas_height, bg=window.cget("bg"), highlightthickness=0)
另外也完全理解你说的项目只是练手假设,没有恶意,放心大胆试就好!第一次接触Tkinter能迈出第一步已经很厉害了,慢慢来,代码整洁度可以后续慢慢优化~
内容的提问来源于stack exchange,提问作者xnx
相关产品推荐
相关产品推荐

