[파이썬] tkinter 키보드 이벤트 처리

Tkinter is a popular GUI (Graphical User Interface) library in Python that provides a set of tools for creating windows, buttons, and other GUI components. In this blog post, we will explore how to handle keyboard events in a tkinter application.

Binding keyboard events

To handle keyboard events in tkinter, we need to bind specific keys to corresponding event handler functions. Tkinter provides the bind method to accomplish this task.

Here is an example of binding the Enter key to a function called handle_enter:

import tkinter as tk

def handle_enter(event):
    print("Enter key pressed!")

root = tk.Tk()

root.bind("<Return>", handle_enter)

root.mainloop()

In this example, we import the tkinter module and create a new Tk instance called root. We define the handle_enter function to be called when the Enter key is pressed. The bind method is then used to bind the Enter key event ("<Return>") to the handle_enter function.

To run the application, we call the mainloop method on the root instance. When the Enter key is pressed while the tkinter window is active, the message “Enter key pressed!” will be printed to the console.

Key event attributes

The keyboard event passed to the event handler function contains various attributes that can be used to determine which key was pressed and perform specific actions based on that information.

Here are some of the commonly used key event attributes:

Here is an example of using the keysym attribute to handle different keys:

import tkinter as tk

def handle_key(event):
    print(f"Key pressed: {event.keysym}")

root = tk.Tk()

root.bind("<Key>", handle_key)

root.mainloop()

In this example, the handle_key function prints the key symbol (event.keysym) of the pressed key. When any key is pressed while the tkinter window is active, the corresponding key symbol will be printed to the console.

Conclusion

Handling keyboard events in a tkinter application is straightforward with the help of the bind method and the attributes available in the event object. By binding specific keys to event handler functions, you can create interactive applications that respond to user input.

Remember to explore other keyboard event attributes like char, keycode, and state, as they can provide additional functionality to your tkinter application.