【发布时间】:2017-02-02 09:33:48
【问题描述】:
我仍然是编程的初学者。我有一个使用 Tkinter 无法摆脱的问题。事实是我正在为我的根 gui 使用背景图像,我将它相应地缩放到我的 gui 大小并且它工作正常。 问题是,在paint.net 上,我删除了图像边框周围的白色像素,这使得它的形状不完全是矩形。当我将它用作 Tkinter 上的背景图像时,作为 .gif 文件,我删除的白色像素仍然出现在 gui 上。如果我在正常状态下使用 gui,这不会是一个大问题,但我使用命令 root.overrideredirect(1) 删除窗口边框,使其看起来像这样: what I have
在此先感谢,如果很明显或者我犯了重大错误,我们深表歉意。
编辑:显然这是一个 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 删除。
希望对你有帮助!
【问题讨论】:
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。跨度>
-
您是否尝试过使用 .png 图像而不是 .gif?如果您使用 python 3,tkinter 现在支持 png,否则请参阅 effbot.org/tkinterbook/photoimage.htm 以包含使用 PIL 的一个。
-
我不知道到底发生了什么。昨天它告诉我 .png 不受支持,现在它可以与 .png 一起使用,尽管白色像素没有消失。
-
如果您在图像查看器中打开您的 png,您是否也会看到白色像素?
-
当我写 PIL 时,我指的是 Pillow,它是 PIL 的一个分支,在 python 2 和 3 上都能完美运行:pypi.python.org/pypi/Pillow/4.0.0。
标签: python tkinter background