Obrazek jako przycisk

Obrazek jako przycisk
kiyo
  • Rejestracja:około 8 lat
  • Ostatnio:dzień
  • Postów:155
0

Dzień dobry,

Chciałbym wstawić obrazek, który pełniłby role przycisku/byłby przyciskiem. Na początku tworze zwykły przycisk:

Kopiuj
button = Button(main, text=" ", height=3, width=5, command=lambda: funkcja(argumenty))

i chciałbym żeby po naciśnięciu button funkcja wstawiła obrazek jako tło. Czy jest to możliwe? Jeśli tak prosiłbym o naprowadzenie jak to zrobić. Próbowałem czegoś takiego:

Kopiuj
def funkcja(button):
    obrazek = PhotoImage(file="obrazek.png")
    button.config(image=obrazek)

Jednak jak można się domyślić nie zadziałało

edytowany 1x, ostatnio: kiyo
spartanPAGE
  • Rejestracja:prawie 12 lat
  • Ostatnio:około miesiąc
0
kiyo
Nie do końca o to chodziło. Chciałbym żeby najpierw przycisk był "normalny", np. z napisem 'PRZYCISK'. Dopiero po naciśnięciu napis ma znikać i zamiast tego ma pojawić się obrazek
Guaz
  • Rejestracja:około 8 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Częstochowa
  • Postów:221
1

W sumie, prosty przykład:

Kopiuj
#Update image
def update_image():
    self.tkimg = PhotoImage(file="img.jpg")
    self.tkimg_label.config(image=self.tkimg)
#Frame to image
self.tkimg = PhotoImage(file="img.jpg")
self.tkimg_label = Label(self.frame, image=self.tkimg)
self.tkimg_label.image = self.tkimg
#Button to update
coda_butt = Button(self.os_tail, text="Your text on button")
coda_butt.bind("<Button-1>", func=self.update_image)

Jeśli dobrze rozumiem że tkinter'a używasz :)
Tylko zamiast Label, update'ujesz tło, i powinno działać :)
Oczywiście grid/pack pomijam, bo to standardowo jak potrzebujesz do swojego programu.


Linux Mint
Arduino / Python 3.5.2
edytowany 1x, ostatnio: Guaz

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.