Search⌘ K
AI Features

Tkinter + lambda

Explore how to integrate lambda functions with Tkinter buttons in Python to improve your event handling. Understand creating on-the-fly functions for button commands that pass parameters, enabling more efficient and readable GUI code.

We'll cover the following...

We’ll start with Tkinter since it’s included with the standard Python package. Here’s a really simple script with three buttons, two of which are bound to their event handler using a lambda:

import tkinter as tk

class App:
    """"""

    def __init__(self, parent):
        """Constructor"""
        frame = tk.Frame(parent)
        frame.pack()

        btn22 = tk.Button(frame, text="22", command=lambda: self.printNum(22))
        btn22.pack(side=tk.LEFT)
        btn44 = tk.Button(frame, text="44", command=lambda: self.printNum(44))
        btn44.pack(side=tk.LEFT)

        quitBtn = tk.Button(frame, text="QUIT", fg="red", command=frame.quit)
        quitBtn.pack(side=tk.LEFT)


    def printNum(self, num):
        """"""
        print("You pressed the %s button" % num)

if __name__ == "__main__":
    root = tk.Tk()
    app = App(root)
    root.mainloop()

Notice the btn22 and btn44 variables. This is where the action is. We create a tk.Button instance ...