Python 如何删除tkinter中的背景边框?

Python 如何删除tkinter中的背景边框?,python,tkinter,background,Python,Tkinter,Background,我还是个编程新手。我有一个问题,我无法摆脱使用Tkinter。事实上,我正在为我的根gui使用背景图像,我根据我的gui大小对其进行了相应的缩放,效果良好。 问题是,在paint.net上,我删除了图像边界周围的白色像素,这使得它的形状不是完全矩形的。当我在Tkinter上使用它作为背景图像时,作为.gif文件,我删除的白色像素仍然显示在gui上。如果我在正常状态下使用gui,这不会是一个大问题,但我使用命令root.overrideredirect(1)删除窗口边框,使其看起来像这样: 提

我还是个编程新手。我有一个问题,我无法摆脱使用Tkinter。事实上,我正在为我的根gui使用背景图像,我根据我的gui大小对其进行了相应的缩放,效果良好。 问题是,在paint.net上,我删除了图像边界周围的白色像素,这使得它的形状不是完全矩形的。当我在Tkinter上使用它作为背景图像时,作为.gif文件,我删除的白色像素仍然显示在gui上。如果我在正常状态下使用gui,这不会是一个大问题,但我使用命令root.overrideredirect(1)删除窗口边框,使其看起来像这样:

提前谢谢,如果这是显而易见的,或者我犯了一个重大错误,请道歉

编辑:显然这是Windows的问题,因为j_4321在Linux上工作。 对于Windows用户,我使用以下几行代码找到了一个很好的修复方法:

root.wm_attributes("-transparentcolor","white")
root.configure(background='white')
将bg='white'添加到我的标签中,如下所示:

image_label=Label(root,image=your_image,bg='white')
如果使用.gif文件,可能会保留一些白色像素。对于Tkinter来说,用这种方法移除它们似乎更容易


希望有帮助

以下是您问题的解决方案:

from Tkinter import *

app = Tk()
app.overrideredirect(True)
app.wm_attributes("-topmost", True)
app.wm_attributes("-transparent", True)
app.config(bg='systemTransparent')

app.geometry("+300+300")

app.image = PhotoImage(file="ButtonBACKUP.gif")
label = Label(app, image=app.image)
label.config(bg='systemTransparent')

label.pack()
app.mainloop()

这段代码所做的只是制作一个标签,然后将标签背景设置为透明,同时切断顶部

寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现该问题所需的最短代码。是否尝试使用.png图像而不是.gif?如果您使用Python3,tkinter现在支持png,否则请参阅包含一个使用PIL的。昨天它告诉我.png不受支持,现在它与.png一起工作,尽管白色像素没有消失。如果你在图像查看器中打开png,你也会看到白色像素吗?当我写PIL时,我指的是枕头,它是PIL的一个分支,在python 2和3上都能完美工作:。