Zum Anzeigen von Bildern im jpg-Format wird zusätzlich das PIL-Modul (Python Image Library) benötigt. Mit dem Tkinter eigenen tk.PhotoImage lassen sich nur die Bildformate gif und png anzeigen. Mit PIL lassen sich alle Bildformate anzeigen.
Hier die Tkinter-Variante:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from functools import partial
import tkinter as tk
def bomben(button, button_image, event):
button.configure(image=button_image)
app_win = tk.Tk()
tk_button_image = tk.PhotoImage(file="hund.png")
#tk_button_image = tk.PhotoImage(file="hund.gif")
button = tk.Button(app_win, text="j")
button.pack(padx=10, pady=10)
button.bind('<Button-1>', partial(bomben, button, tk_button_image))
app_win.mainloop()
Hier die PIL-Variante:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from functools import partial
from PIL import Image, ImageTk
import tkinter as tk
def bomben(button, button_image, event):
button.configure(image=button_image)
app_win = tk.Tk()
pil_button_image = Image.open("hund.jpg")
#pil_button_image = Image.open("hund.gif")
#pil_button_image = Image.open("hund.png")
tk_button_image = ImageTk.PhotoImage(pil_button_image)
button = tk.Button(app_win, text="j")
button.pack(padx=10, pady=10)
button.bind('<Button-1>', partial(bomben, button, tk_button_image))
app_win.mainloop()