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

时间:2017-02-02 09:33:49

标签: python tkinter background

我还是编程的初学者。我有一个问题,我无法摆脱使用Tkinter。事实上,我正在使用背景图像作为我的根gui,我根据我的gui尺寸缩放它并且它工作正常。 问题是,在paint.net上,我删除了图像边框周围的白色像素,这使得它的形状不是完全矩形的。当我在Tkinter上使用它作为背景图像时,作为.gif文件,我删除的白色像素仍然出现在gui上。如果我在正常状态下使用gui,这不会是一个大问题,但我使用命令root.overrideredirect(1)删除窗口边框,使其看起来像这样: what I have

what I want without white borders(the image already has no borders, imgur somehow brought them back ,and there isnt any buttons because it's the image)

先谢谢,如果很明显或者我犯了一个重大错误,那就很抱歉。

编辑:显然这是一个Windows问题,就像它在Linux上运行的j_4321一样。 对于Windows用户,我发现使用这些行很好的修复:

root.wm_attributes("-transparentcolor","white")
root.configure(background='white')

并将bg ='white'添加到我的标签中,如下所示:

image_label=Label(root,image=your_image,bg='white')

如果确实使用.gif文件,则可能会保留一些白色像素。它们似乎更容易以这种方式移除Tkinter。

希望它有所帮助!

1 个答案:

答案 0 :(得分:0)

这是您解决问题的方法:

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()

此代码所做的全部工作是制作标签,然后将标签背景设置为透明,同时切掉顶部。