To create an image that supports .png transparency, you have to create a Canvas and then create an image object using the canvas .create_image() feature. Then bind an event to the canvas image using .tag_bind().
For example:
import tkinter as tk
from PIL import Image, ImageTk
def quitGame(event):
window.destroy()
window = tk.Tk()
window.geometry("500x500")
canvas = tk.Canvas(window, width = 300, height = 300)
canvas.pack()
#creating background
bgImage = ImageTk.PhotoImage(Image.open("Images/background.png"))
bg = canvas.create_image(0, 0, image=bgImage, anchor=tk.NW)
#creating button which supports png transparency
quitImage = ImageTk.PhotoImage(Image.open("Images/quitImage.png"))
quitButton = canvas.create_image(50, 50, image=quitImage)
canvas.tag_bind(quitButton, "<Button-1>", quitGame)
window.mainloop()