我尝试在窗口中将图像显示为标签,但这并不是我认为Tkinter会显示它们的方式。换一种说法。我有几个小图像,它们应该彼此相邻,没有任何间隙。但除了我所有的努力之外,Tkinter总是在两个相邻元素之间放置小边框或间隙(可能是1-2像素)。
$('body').replaceWith($('#box3').clone());
我尝试过选项,例如'borderwidth','padding','bordermode'和其他一些技巧,似乎没有任何工作可行,因为我打算这样做。感谢您的帮助和想法。
答案 0 :(得分:9)
有两个属性需要设置为0(零):borderwidth
和highlightthickness
。 borderwidth
(以及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')