Hộp thoại là một thành phần rất cần thiết của bất kỳ ứng dụng nào. Nó thường được sử dụng để tương tác với người dùng và giao diện ứng dụng. Chúng ta có thể tạo các hộp thoại cho bất kỳ ứng dụng tkinter nào bằng cách sử dụng cửa sổ Toplevel và các widget khác. Cửa sổ cấp trên bật lên nội dung phía trên tất cả các cửa sổ khác. Do đó, chúng ta có thể thêm nhiều thứ hơn trên cửa sổ cấp trên để xây dựng hộp thoại.
Ví dụ
Trong ví dụ này, chúng tôi đã tạo một hộp thoại phương thức có hai phần,
- Khởi tạo cửa sổ Toplevel.
- Định nghĩa hàm cho Sự kiện hộp thoại bật lên.
- Thêm tiện ích trong cửa sổ Toplevel.
- Định nghĩa hàm cho các tùy chọn Hộp thoại.
# Import required libraries
from tkinter import *
from tkinter import ttk
# Create an instance of tkinter frame
win = Tk()
# Set the window size
win.geometry("700x350")
style = ttk.Style()
style.theme_use('clam')
# Define a function to implement choice function
def choice(option):
pop.destroy()
if option == "yes":
label.config(text="Hello, How are You?")
else:
label.config(text="You have selected No")
win.destroy()
def click_fun():
global pop
pop = Toplevel(win)
pop.title("Confirmation")
pop.geometry("300x150")
pop.config(bg="white")
# Create a Label Text
label = Label(pop, text="Would You like to Proceed?",
font=('Aerial', 12))
label.pack(pady=20)
# Add a Frame
frame = Frame(pop, bg="gray71")
frame.pack(pady=10)
# Add Button for making selection
button1 = Button(frame, text="Yes", command=lambda: choice("yes"), bg="blue", fg="white")
button1.grid(row=0, column=1)
button2 = Button(frame, text="No", command=lambda: choice("no"), bg="blue", fg="white")
button2.grid(row=0, column=2)
# Create a Label widget
label = Label(win, text="", font=('Aerial', 14))
label.pack(pady=40)
# Create a Tkinter button
ttk.Button(win, text="Click Here", command=click_fun).pack()
win.mainloop() Đầu ra
Khi chúng ta chạy đoạn mã trên, nó sẽ hiển thị một cửa sổ có Nút để mở hộp thoại phương thức.
Nhấp vào nút sẽ mở Hộp thoại phương thức.