Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách triển khai hộp thoại popup tùy chỉnh Tkinter đúng cách

Tkinter có nhiều hàm và mô-đun tích hợp đã triển khai sẵn trong Python. Mô-đun MessageBox trong Tkinter là một trong số đó dùng trong bất kỳ ứng dụng nào chỉ bằng hàm liên kết. Hạn chế duy nhất là không thể sửa đổi hoặc thay đổi mẫu MessageBox. Do đó, để triển khai Custom Popup MessageBox, ta làm theo các bước:

  • Tạo Button và thêm command định nghĩa hàm cho nó.
  • Định nghĩa hàm tạo cửa sổ Toplevel và thêm widget khác vào đó.
  • Thêm Button và văn bản Label xác nhận trong cửa sổ Toplevel.
  • Thêm command Button để hiển thị thông báo trong cửa sổ chính tương tác.

Ví dụ

# Import thư viện cần thiết
from tkinter import *
from tkinter import ttk

# Tạo instance của frame tkinter
win = Tk()

# Đặt kích thước cửa sổ
win.geometry("700x250")

# Định nghĩa hàm thực hiện lựa chọn
def choice(option):
    pop.destroy()
    if option == "yes":
        label.config(text="Hello, How are You?")
    else:
        label.config(text="You have selected No")

def click_fun():
    global pop
    pop = Toplevel(win)
    pop.title("Confirmation")
    pop.geometry("700x250")
    pop.config(bg="green3")
    # Tạo văn bản Label
    label = Label(pop, text="Would You like to Proceed?",
                  bg="green3", fg="white", font=('Aerial', 12))
    label.pack(pady=20)
    # Thêm Frame
    frame = Frame(pop, bg="green3")
    frame.pack(pady=10)
    # Thêm Button để lựa chọn
    button1 = Button(frame, text="Yes", command=lambda: choice("yes"), bg="green")
    button1.grid(row=0, column=1)
    button2 = Button(frame, text="No", command=lambda: choice("no"), bg="green")
    button2.grid(row=0, column=2)

# Tạo widget Label
label = Label(win, text="", font=('Aerial', 14))
label.pack(pady=40)

# Tạo nút Tkinter
ttk.Button(win, text="Click Here", command=click_fun).pack()

win.mainloop()

Kết quả

Thực thi mã trên sẽ hiển thị cửa sổ với nút.

Cách triển khai hộp thoại popup tùy chỉnh Tkinter đúng cách

Khi nhấn nút, sẽ hiển thị Custom Popup Messagebox

Cách triển khai hộp thoại popup tùy chỉnh Tkinter đúng cách