Tkinterde label canvas veya herhangi bir şeyin arkasındaki rengi nasıl şeffaf yapabilirim
Aşağıdaki bağlantıyı bir inceleyin isterseniz:
Başka bir soru sorulması üzerine anladım ki verdiğiniz link buradaki soruda istenen değil. Soruda bir widget’in arka planını şeffaf yapmaktan bahsediyor ama sizin verdiğiniz link Tk
penceresini şeffaf yapmak ile alakalı.
Anladım, bunun için arka planı şeffaf olan bir gif dosyası kullanılabilir. Örneğin aşağıdaki kodlar iş görür.
import tkinter as tk
root = tk.Tk()
img = tk.PhotoImage(file="./giphy.gif")
canvas = tk.Canvas(master=root, bg="red")
canvas.pack()
canvas.create_image((200, 200), image=img)
root.mainloop()
gif’in orijinal hali:
Neden sildim, şu yüzden sildim: resmin kendisinin şeffaf olmasıyla alakalı bir durumun istendiğini sandım. Normalde arkadaşın yapmak istediği gibi işlem için gif uzantılı resimler kullanılıyor.
Ben sizin çözümünüzü şeffaf bir .png
dosyası ile de denedim, çalışıyor. Ancak bir Canvas
kullanmak yerine bunu yaptığımızda da istenilen sonucu veriyor:
import tkinter as tk
root = tk.Tk()
root.config(bg="black")
image = tk.PhotoImage(file=".png")
label = tk.Label(image=image)
label['bg'] = root['bg']
label.pack()
Resmin kendisinin arka planı zaten şeffaf olmalı. Bunun için intenette online araçlar da var.
Tabi canım, resmi label’a da yerleştirebilirsiniz. Buttona da resim ekleyebiliriz. Aklıma ilk o geldi.