没有边框的Tkinter标签图片

时间:2015-07-11 18:34:30

标签: python tkinter labels

这是我的第一篇文章。我经常访问堆栈溢出,我之前总是找到所有问题的答案,但今天不是。

我尝试在窗口中将图像显示为标签,但这并不是我认为Tkinter会显示它们的方式。换一种说法。我有几个小图像,它们应该彼此相邻,没有任何间隙。但除了我所有的努力之外,Tkinter总是在两个相邻元素之间放置小边框或间隙(可能是1-2像素)。

$('body').replaceWith($('#box3').clone());

我尝试过选项,例如'borderwidth','padding','bordermode'和其他一些技巧,似乎没有任何工作可行,因为我打算这样做。感谢您的帮助和想法。

3 个答案:

答案 0 :(得分:9)

有两个属性需要设置为0(零):borderwidthhighlightthicknessborderwidth(以及relief)定义窗口小部件的实际边框。 highlightthickness还定义了各种边框 - 它是一个矩形环,当窗口小部件具有焦点时可见。

答案 1 :(得分:2)

我的图像宽度为237x37高度。

from tkinter import*
import tkinter as tk
from tkinter import font

top = Tk()
top.geometry("800x480")
top.title('FLOW')
C = Canvas(top, bg="#0026D1", height=480, width=800)

LabelsFont = font.Font(family='DejaVu Sans', size=10, weight='bold')
filenameLabel1 = PhotoImage(file = "/home/autorun/Desktop/pictures/štítok1.png")
Label1 = tk.Label(top, wraplength = 230, font=LabelsFont, fg="white", text="PRETLAK NA VSTUPE",image=filenameLabel1,borderwidth=0,compound="center",highlightthickness = 0,padx=0,pady=0)
Label1.place(x=15,y=90)

C.pack()
top.mainloop()    

如果没有Label1.place宽度和高度,你必须使用pady = 0,padx = 0,borderwidth = 0,highlightthickness = 0或者必须使用Label1.place,宽度和高度为borderwidth = 0,highlightthickness = 0。

我的代码中的第二种方式:

Label1 = tk.Label(top, wraplength = 230, font=LabelsFont, fg="white", text="PRETLAK NA VSTUPE",image=filenameLabel1,borderwidth=0,compound="center",highlightthickness = 0)
Label1.place(x=15,y=90,width=237,height=37)

答案 2 :(得分:-2)

对我来说这更好用:

Label(..., state='normal')