Start New Discussion within our Software Development Community

A Tkinter image button that toggles between an up and down button image.

using itertools.cycle() to create a Tkinter ToogleUpDownImageButton
tested with Python27  by  vegaseat  01aug2014

import itertools as it
    # Python27
    import Tkinter as tk
except ImportError:
    # Python3+
    import tkinter as tk

class ToogleUpDownImageButton(tk.Tk):
    def __init__(self):

        # images are of an up and down button
        # pick GIF images you have in the working directory or give full path
        self.image_up = tk.PhotoImage(file='btn_up.gif')
        self.image_down = tk.PhotoImage(file='btn_down.gif')
        self.images = it.cycle([self.image_down, self.image_up])		

        self.button = tk.Button(self, image=self.image_up, command=self.toggle)

    def toggle(self):
        toggle between up and down button images
        self.button['image'] = next(self.images)

def main():
    app = ToogleUpDownImageButton()

The article starter has earned a lot of community kudos, and such articles offer a bounty for quality replies.