[Python] Tkinter - How to display image when clicking a button?

Discussão em 'Python' iniciado por Stack, Fevereiro 5, 2025.

  1. Stack

    Stack Membro Participativo

    First time here so forgive me as this is my FIRST attempt at making a silly GUI game (if you want to call it that). I'm trying to get the user to click a button and the image of their selection pops up. I can't seem to figure out how to get the image to pop up though.

    Image does show if I run it separately.

    My code:

    from Tkinter import *

    root = Tk()

    class PokemonClass(object):
    def __init__(self, master):
    frame = Frame(master)
    frame.pack()

    self.WelcomeLabel = Label(root, text="Welcome! Pick your Pokemon!",
    bg="Black", fg="White")
    self.WelcomeLabel.pack(fill=X)

    self.CharButton = Button(root, text="Charmander", bg="RED", fg="White",
    command=self.CharClick)
    self.CharButton.pack(side=LEFT, fill=X)

    self.SquirtButton = Button(root, text="Squirtle", bg="Blue", fg="White")
    self.SquirtButton.pack(side=LEFT, fill=X)

    self.BulbButton = Button(root, text="Bulbasaur", bg="Dark Green",
    fg="White")
    self.BulbButton.pack(side=LEFT, fill=X)

    def CharClick(self):
    print "You like Charmander!"
    global CharSwitch
    CharSwitch = 'Yes'

    CharSwitch = 'No'

    if CharSwitch == 'Yes':
    CharPhoto = PhotoImage(file="Charmander.gif")
    ChLabel = Label(root, image=CharPhoto)
    ChLabel.pack()

    k = PokemonClass(root)
    root.mainloop()

    Continue reading...

Compartilhe esta Página