2013-08-27 35 views
0

下面是一些示例代码:如何让图像成为标签唯一可见的部分?

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

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

+0

边界。有边界。 –

回答

2

更改padx,pady配置参数没有帮助。

对于tk.Label的解决办法是改变borderwidth

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

对于ttk.Label你就必须创建自定义样式,并设置ttk.Label()的风格与自定义样式。我不确定你会如何为ttk.Label制作自定义样式。

+0

标签具有“highlightthickness”属性,该属性也需要设置为零。如果您想要删除所有边框并仅显示图片,则使用ttk标签小部件没有意义。 –

+0

@BryanOakley重新 - “使用ttk标签小工具没有意义”:你是说这个,因为如果你只是想显示图像...那么你不需要任何主题/造型这是什么ttk标签是为了? –

+0

是的。 ttk小部件添加的唯一值是主题和装饰,在这种情况下,它将被关闭。 –

相关问题