How to have image + text in one button in Tkinter How to have image + text in one button in Tkinter tkinter tkinter

How to have image + text in one button in Tkinter


Look at the compound option to the label. It lets you specify the relationship of the label to the text (top, bottom, left, right, none).

For example:

import Tkinter as tkclass View(tk.Frame):    def __init__(self, *args, **kwargs):        tk.Frame.__init__(self, *args, **kwargs)        self.image = tk.PhotoImage(file="somefile.gif")        b = tk.Button(self, text="Hello, world", image=self.image, compound="left")        b.pack(side="top")if __name__ == "__main__":    root = tk.Tk()    view = View(root)    view.pack(side="top", fill="both", expand=True)    root.mainloop()