Mengurus interaksi pengguna adalah penting dalam pengaturcaraan GUI. Satu peristiwa penting untuk dikendalikan ialah acara tutup tetingkap, yang berlaku apabila pengguna mengklik butang "X" dalam bar tajuk tetingkap. Dalam Tkinter, acara ini boleh dikendalikan menggunakan pengendali protokol.
Protokol WM_DELETE_WINDOW Tkinter mewakili pengguna menutup tetingkap secara eksplisit melalui pengurus tetingkap. Dengan memasang pengendali untuk protokol ini, anda boleh menentukan gelagat yang diingini apabila peristiwa ini berlaku.
Untuk memasang pengendali bagi protokol WM_DELETE_WINDOW, gunakan kaedah protokol pada Tk atau widget Toplevel. Sintaksnya adalah seperti berikut:
<code class="python">widget.protocol("WM_DELETE_WINDOW", callback)</code>
Di mana widget ialah widget Tk atau Toplevel yang acara tutupnya anda mahu kendalikan dan panggil balik ialah fungsi untuk dilaksanakan apabila tetingkap ditutup.
Kod berikut menunjukkan cara mengendalikan acara tutup tetingkap dalam program Tkinter:
<code class="python">import tkinter as tk from tkinter import messagebox # Create a Tk root window root = tk.Tk() # Define the callback function for the close event def on_closing(): # Prompt the user for confirmation before quitting if messagebox.askokcancel("Quit", "Do you want to quit?"): root.destroy() # Install the handler for the window close event root.protocol("WM_DELETE_WINDOW", on_closing) # Start the Tkinter event loop root.mainloop()</code>
Dalam contoh ini, apabila pengguna mengklik butang "X", dialog pengesahan muncul mendorong mereka untuk mengesahkan berhenti. Jika pengguna mengesahkan, kaedah musnah dipanggil untuk menutup tetingkap. Jika tidak, acara itu diabaikan.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Acara Tutup Tetingkap di Tkinter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!