Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Sử dụng widget PanedWindow trong Tkinter
Trong bài viết này, bạn sẽ tìm hiểu cách sử dụng widget PanedWindow trong Tkinter, một công cụ mạnh mẽ giúp bạn dễ dàng chia nhỏ không gian của một khung (frame) hoặc cửa sổ thành các phần riêng biệt. Với PanedWindow, bạn có thể tạo ra các giao diện người dùng linh hoạt, cho phép người dùng tùy chỉnh và điều chỉnh kích thước các phần khác nhau trong cửa sổ theo ý muốn.

Giới thiệu Về Tkinter PanedWindow
Widget PanedWindow dùng để chia không gian của một khung hoặc cửa sổ. PanedWindow giống như một Frame, nhưng có khả năng chứa các widget con.
Thông thường, một PanedWindow chứa một dãy các widget con được sắp xếp theo chiều dọc hoặc chiều ngang:

- PanedWindow sử dụng một thanh ngăn cách các widget con, thanh này được gọi là sash.
- Sash có thể có một handle là một ô vuông nhỏ, bạn có thể kéo nó bằng chuột để thay đổi kích thước của các pane.
- Pane là khu vực mà một widget con chiếm giữ.

Cách tạo PanedWindow
Để tạo một widget PanedWindow, bạn sử dụng cú pháp sau:
Bài viết này được đăng tại [free tuts .net]
ttk.PanedWindow(container, **options)
Một tùy chọn đáng chú ý của widget PanedWindow là tùy chọn orient.
- Nếu bạn đặt
orientlàtk.HORIZONTAL, nó sẽ xếp các widget con cạnh nhau theo chiều ngang. - Nếu
orientlàtk.VERTICAL, nó sẽ xếp các widget con từ trên xuống dưới. - Tùy chọn
orientmặc định làtk.VERTICAL.
Ví dụ sử dụng PanedWindow trong Tkinter
Ví dụ sau đây minh họa cách sử dụng widget PanedWindow để tách hai Listbox:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.title('PanedWindow Demo')
root.geometry('300x200')
# thay đổi style sang classic (chỉ dành cho Windows)
# để hiển thị sash và handle
style = ttk.Style()
style.theme_use('classic')
# tạo PanedWindow
pw = ttk.PanedWindow(orient=tk.HORIZONTAL)
# Listbox bên trái
left_list = tk.Listbox(root)
left_list.pack(side=tk.LEFT)
pw.add(left_list)
# Listbox bên phải
right_list = tk.Listbox(root)
right_list.pack(side=tk.LEFT)
pw.add(right_list)
# đặt PanedWindow lên cửa sổ chính
pw.pack(fill=tk.BOTH, expand=True)
root.mainloop()
Kết quả

Khi bạn chạy chương trình trên Windows, có thể bạn sẽ không thấy sash và handle hiển thị. Để làm cho chúng hiển thị, bạn có thể đặt theme mặc định là classic.
Kết bài
Widget PanedWindow trong Tkinter là một công cụ hữu ích để chia không gian của một cửa sổ hoặc khung thành các phần khác nhau, giúp bạn dễ dàng quản lý bố cục giao diện người dùng một cách hiệu quả. Việc sử dụng PanedWindow cho phép tạo ra các vùng có thể thay đổi kích thước, cung cấp cho người dùng trải nghiệm tương tác linh hoạt và tùy biến.

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