[파이썬] tkinter 스크롤바(`Scrollbar`) 위젯

In graphical user interface (GUI) development, it is common to have content that exceeds the available space in a window or frame. In such cases, a scrollbar is used to allow users to scroll through the content.

In Python, the tkinter library provides a Scrollbar widget that can be used in conjunction with other widgets such as Text or Canvas to enable scrolling functionality.

Creating a Scrollbar

To create a scrollbar using tkinter, you need to import the Scrollbar widget from the tkinter module. Here’s an example code that demonstrates how to create a horizontal scrollbar:

import tkinter as tk

root = tk.Tk()

scrollbar = tk.Scrollbar(root, orient=tk.HORIZONTAL)
scrollbar.pack(fill=tk.X, side=tk.BOTTOM)

root.mainloop()

In this code snippet, we import the tkinter module and create an instance of the Tk class representing the main window. Then, we create a Scrollbar widget with a specified orientation (in this case, tk.HORIZONTAL). We use the pack geometry manager to place the scrollbar at the bottom of the window. Finally, we start the event loop with the mainloop() method.

Associating Scrollbar with Widgets

To enable scrolling functionality, we need to associate the scrollbar with a widget that contains the content. Let’s see an example of how to use a scrollbar with a Text widget:

import tkinter as tk

root = tk.Tk()

scrollbar = tk.Scrollbar(root)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)

text_widget = tk.Text(root, yscrollcommand=scrollbar.set)
text_widget.pack(side=tk.LEFT, fill=tk.BOTH)

scrollbar.config(command=text_widget.yview)

root.mainloop()

In this code snippet, we create a Text widget that will contain the content to be scrolled. We pass the yscrollcommand parameter as scrollbar.set to enable vertical scrolling. We also configure the scrollbar to control the y-view of the text widget using scrollbar.config(command=text_widget.yview).

Adjusting Scrollbar Options

The Scrollbar widget provides various options to custom the appearance and behavior. Here are some commonly used options that can be set using the config() method:

You can experiment with these options to create a scrollbar that suits your GUI design.

Conclusion

The tkinter.Scrollbar widget in Python provides a simple way to add scrolling functionality to your GUI applications. By associating the scrollbar with a widget such as Text or Canvas, you can easily handle content that exceeds the available space.