Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Cách sử dụng widget radio button của Tkinter
Trong viết bài này, bạn sẽ tìm hiểu cách sử dụng widget radio button trong Tkinter để tạo ra các tùy chọn loại trừ lẫn nhau, cho phép người dùng chọn một trong số những lựa chọn có sẵn. Đây là một công cụ giúp khi bạn cần tạo ra các lựa chọn rõ ràng và dễ dàng cho người dùng trong ứng dụng của mình.
Giới thiệu về radio button trong Tkinter
Radio button cho phép bạn chọn một trong số các lựa chọn loại trừ lẫn nhau. Thông thường, bạn sử dụng radio button trong một nhóm để tạo ra những lựa chọn mà người dùng có thể chọn duy nhất một. Đây là một lựa chọn tốt nếu bạn có một vài tùy chọn muốn người dùng chọn.
Tạo radio button
Để tạo các radio button, bạn sử dụng widget Radiobutton. Dưới đây là cách tạo radio button bằng cách sử dụng hàm khởi tạo tk.Radiobutton
:
selected = tk.StringVar() r1 = ttk.Radiobutton(container, text='Option 1', value='Value 1', variable=selected) r2 = ttk.Radiobutton(container, text='Option 2', value='Value 2', variable=selected) r3 = ttk.Radiobutton(container, text='Option 3', value='Value 3', variable=selected)
Trong ví dụ này:
Bài viết này được đăng tại [free tuts .net]
- Mỗi radio button có một giá trị khác nhau, tuy nhiên, chúng chia sẻ cùng một biến
variable
để đảm bảo rằng chỉ có một tùy chọn được chọn tại một thời điểm. container
là widget cha nơi bạn đặt các radio button.text
xác định văn bản xuất hiện trên radio button.value
xác định giá trị mà radio button sẽ giữ.variable
phải là một biến thuộc kiểutk.StringVar()
.
Ví dụ về radio button trong Tkinter
Chương trình sau minh họa cách sử dụng radio button. Khi nhấn nút "Get Selected Size", nó sẽ trả về kích thước được chọn.
import tkinter as tk from tkinter import ttk from tkinter.messagebox import showinfo # Cửa sổ chính root = tk.Tk() root.geometry('300x220') root.resizable(False, False) root.title('Radio Button Demo') def show_selected_size(): showinfo( title='Result', message=selected_size.get() ) selected_size = tk.StringVar() sizes = (('Small', 'S'), ('Medium', 'M'), ('Large', 'L'), ('Extra Large', 'XL'), ('Extra Extra Large', 'XXL')) # Nhãn label = ttk.Label(text="What's your t-shirt size?") label.pack(fill='x', padx=5, pady=5) # Các radio button for size in sizes: r = ttk.Radiobutton( root, text=size[0], value=size[1], variable=selected_size ) r.pack(fill='x', padx=5, pady=5) # Nút button = ttk.Button( root, text="Get Selected Size", command=show_selected_size) button.pack(fill='x', padx=5, pady=5) root.mainloop()
Kết quả
Khi chạy chương trình trên, một cửa sổ sẽ hiển thị với các tùy chọn kích thước áo phông và một nút để hiển thị kích thước đã chọn.
Kết bài
Sử dụng ttk.Radiobutton(text, variable) để tạo các radio button cho phép người dùng lựa chọn giữa các tùy chọn loại trừ lẫn nhau. Việc chia sẻ cùng một biến variable
giữa các radio button trong nhóm đảm bảo rằng chỉ một lựa chọn được chọn tại một thời điểm, giúp tăng tính trực quan và đơn giản hóa trải nghiệm người dùng trong ứng dụng của bạn.