在Tkinter窗口放置图片时出现白色外框,该如何去除?
问题原因
白色外框来自Tkinter Label控件的默认内置边框,并非图片本身的内容。Tkinter的Label控件默认存在两个会显示外框的参数:默认宽度为1的普通边框borderwidth、以及默认非0的焦点高亮边框highlightthickness。如果你的PNG图片带有透明通道,Label默认背景色和窗口背景色不一致也会导致边缘出现色差,看起来类似白边。
修复方法
创建显示图片的Label时额外添加对应参数即可:
borderwidth=0移除默认普通边框highlightthickness=0移除焦点高亮边框bg='#73767A'保持Label背景色和窗口一致,避免透明区域显示异常
修复后的完整代码如下:
from tkinter import * from PIL import Image, ImageTk window = Tk() window.configure(bg = '#73767A') im = Image.open("static/logo.png") im = ImageTk.PhotoImage(im.resize((400,225), Image.ANTIALIAS)) Label(image = im, borderwidth=0, highlightthickness=0, bg='#73767A').place(x = 200, y = 0) window.mainloop()
内容的提问来源于stack exchange,提问作者Endo
相关产品推荐
相关产品推荐

