Python có bộ thư viện phong phú để xây dựng ứng dụng GUI. Tkinter là thư viện tiêu chuẩn cho giao diện đồ họa. Bài viết hướng dẫn tạo nút bật/tắt (toggle button) chuyển đổi chế độ Ngày/Đêm.
Ý tưởng: render hình ảnh lên Label, định nghĩa hàm xử lý sự kiện click thay đổi hình ảnh và màu nền. Sử dụng biến toàn cục is_on để theo dõi trạng thái.
Ví dụ
# Nhập tkinter
from tkinter import *
# Tạo cửa sổ chính
win = Tk()
win.title('Toggle Button Demo')
win.geometry("700x400")
win.resizable(0, 0)
# Biến trạng thái
is_on = True
# Label hiển thị thông báo
label = Label(win, text="Night Mode is On", bg="white", fg="black", font=("Poppins bold", 22))
label.pack(pady=20)
# Hàm xử lý bật/tắt
def button_mode():
global is_on
if is_on:
on_.config(image=off)
label.config(text="Day Mode is On", bg="white", fg="black")
is_on = False
else:
on_.config(image=on)
label.config(text="Night Mode is On", fg="black")
is_on = True
# Tải hình ảnh (cần file on.png, off.png cùng thư mục)
on = PhotoImage(file="on.png")
off = PhotoImage(file="off.png")
# Tạo nút bấm với hình ảnh
on_ = Button(win, image=on, bd=0, command=button_mode)
on_.pack(pady=50)
# Chạy vòng lặp sự kiện
win.mainloop()
Kết quả
Chạy mã sẽ hiển thị cửa sổ có nút bấm hình ảnh. Click nút sẽ chuyển đổi giữa chế độ Night (mặc định) và Day, thay đổi hình ảnh nút và thông báo Label.

