Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Tìm hiểu về widget Scrollbar của Tkinter
Trong bài này, bạn sẽ tìm hiểu về widget Scrollbar trong Tkinter và cách tích hợp nó với các widget có khả năng cuộn. Thanh cuộn (Scrollbar) là một công cụ hữu ích giúp người dùng dễ dàng di chuyển qua các nội dung lớn hơn không gian hiển thị của ứng dụng. Qua bài viết này, bạn sẽ nắm vững cách tạo và liên kết thanh cuộn với các widget như Text hoặc Listbox để cải thiện trải nghiệm người dùng trong ứng dụng Tkinter của bạn.

Giới thiệu về widget Scrollbar trong Tkinter
Một thanh cuộn cho phép bạn xem toàn bộ nội dung của một widget khác, thường có kích thước lớn hơn không gian có sẵn. Trong Tkinter, widget Scrollbar không phải là một phần của các widget khác như Text và Listbox mà là một widget độc lập.
Để sử dụng widget Scrollbar, bạn cần:
- Tạo một widget Scrollbar.
- Liên kết thanh cuộn với một widget có thể cuộn.
Dưới đây là cách tạo một widget Scrollbar bằng cách sử dụng hàm tạo ttk.Scrollbar:
Bài viết này được đăng tại [free tuts .net]
scrollbar = ttk.Scrollbar(
container,
orient='vertical',
command=widget.yview
)
Trong đó:
containerlà cửa sổ hoặc khung chứa thanh cuộn.orientxác định hướng cuộn, có thể làvertical(dọc) hoặchorizontal(ngang).commandcho phép widget Scrollbar giao tiếp với widget có thể cuộn.
Widget có thể cuộn cũng cần giao tiếp lại với thanh cuộn về tỷ lệ phần trăm của toàn bộ nội dung hiện đang hiển thị.
Mỗi widget có thể cuộn đều có tùy chọn yscrollcommand và/hoặc xscrollcommand. Bạn có thể gán phương thức set của thanh cuộn cho các tùy chọn này:
widget['yscrollcommand'] = scrollbar.set
Ví dụ về widget Scrollbar trong Tkinter
Widget Text là một trong nhiều loại widget có thể cuộn. Chương trình sau minh họa một giao diện người dùng đơn giản bao gồm các widget Text và Scrollbar:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.resizable(False, False)
root.title("Scrollbar Widget Example")
# Áp dụng bố cục lưới
root.grid_columnconfigure(0, weight=1)
root.grid_rowconfigure(0, weight=1)
# Tạo widget Text
text = tk.Text(root, height=10)
text.grid(row=0, column=0, sticky=tk.EW)
# Tạo widget Scrollbar và đặt lệnh của nó cho widget Text
scrollbar = ttk.Scrollbar(root, orient='vertical', command=text.yview)
scrollbar.grid(row=0, column=1, sticky=tk.NS)
# Giao tiếp lại với thanh cuộn
text['yscrollcommand'] = scrollbar.set
# Thêm văn bản mẫu vào widget Text để hiển thị trên màn hình
for i in range(1, 50):
position = f'{i}.0'
text.insert(position, f'Dòng {i}\n')
root.mainloop()
Kết quả:

Kết bài
Tạo thanh cuộn bằng cách sử dụng ttk.Scrollbar(orient, command) giúp bạn quản lý nội dung lớn hiệu quả hơn trong ứng dụng Tkinter. Với orient, bạn có thể lựa chọn chiều cuộn là vertical (dọc) hoặc horizontal (ngang), tùy thuộc vào nhu cầu của widget có thể cuộn. Sử dụng command với các thuộc tính như yview hoặc xview cho phép thanh cuộn giao tiếp và điều khiển nội dung cuộn của widget. Cuối cùng, việc liên kết thuộc tính yscrollcommand của widget với phương thức set của thanh cuộn đảm bảo sự đồng bộ giữa vị trí cuộn và thanh cuộn, mang lại trải nghiệm mượt mà cho người dùng.

Các kiểu dữ liệu trong C ( int - float - double - char ...)
Thuật toán tìm ước chung lớn nhất trong C/C++
Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
ComboBox - ListBox trong lập trình C# winforms
Random trong Python: Tạo số random ngẫu nhiên
Lệnh cin và cout trong C++
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng