Button element is used to create clickable, eventful buttons inside an application.
Button is rather easy to set up using only a couple of attributes.
import tkinter from tkinter import messagebox def show_alert(): messagebox.showinfo("Window Title", "Hello world!") root = tkinter.Tk() tkinter.Button(root, text="Click Me", command=show_alert).pack() root.mainloop()
Button with Image
We can also draw our button with an image instead of text. This can be helpful to create toolbars with icons for commonly understood operations such as save, print, etc.
from PIL import Image, ImageTk import tkinter from tkinter import messagebox root = tkinter.Tk() image_tk = ImageTk.PhotoImage(Image.open("/path/to/image.png")) tkinter.Button(root, image=image_tk).pack() root.mainloop()
We may want a
Button to render even if it isn’t currently hooked up to a command. In this case we can specify that the button is disabled and this will make it non-clickable.
import tkinter root = tkinter.Tk() button = tkinter.Button(root, text="Click Me", state=tkinter.DISABLED) button.pack() root.mainloop()
If we would like to this button to become useable we need to set a couple attributes:
# Give the button a command to execute button["command"] = lambda: print("HELLO WORLD!") # Set the button state back to normal button["state"] = tkinter.NORMAL