如何使图像成为标签中唯一可见的部分?

时间:2013-08-27 16:45:21

标签: python user-interface tkinter tcl tk

以下是一些示例代码:

import tkinter as tk
import tkinter.ttk as ttk

root = tk.Tk()
root['background'] = 'black'

# this image here is just a placeholder. For the real application I will be using an image that is not a solid color.
image = tk.PhotoImage(width=1,height=1)
image.put(data='red', to=(0,0))
image = image.zoom(32, 32)

label = ttk.Label(root, image=image)
label.grid()

label = tk.Label(root, image=image)
label.grid(row=1,column=1)

root.mainloop()

此代码会将图像放入Label窗口小部件,但问题是图像周围有一个边框,如此屏幕截图所示:

label has a border around the image

如何使图像成为标签中唯一可见的部分(即您只看到没有边框/填充的图像)?

1 个答案:

答案 0 :(得分:2)

更改padxpady配置参数无济于事。

对于tk.Label,解决方案是更改borderwidth

tk.Label(root, image=image, borderwidth=0)

对于ttk.Label,您必须创建自定义样式并使用自定义样式设置ttk.Label()的样式。我不确定如何为ttk.Label制作自定义样式。