Bagaimana Mengendalikan Acara Tutup Tetingkap di Tkinter?

Linda Hamilton
Lepaskan: 2024-10-27 12:11:30
asal
543 orang telah melayarinya

How to Handle Window Close Events in Tkinter?

Mengendalikan Acara Tutup Tetingkap dalam Tkinter

Dalam Tkinter, apabila pengguna mengklik butang "X" pada tetingkap, protokol WM_DELETE_WINDOW dicetuskan. Untuk mengendalikan acara ini, anda boleh mendaftarkan pengendali protokol.

Pengendali Protokol

Pengendali protokol membolehkan anda menentukan tindakan khusus yang perlu diambil apabila protokol dicetuskan. Untuk WM_DELETE_WINDOW, tindakan ini biasanya melibatkan menutup tetingkap atau menggesa pengguna untuk pengesahan.

Memasang Pengendali Protokol

Untuk memasang pengendali protokol, gunakan kaedah protokol pada widget Tk atau Toplevel. Sintaksnya ialah:

<code class="python">widget.protocol("protocol_name", handler)</code>
Salin selepas log masuk

di mana:

  • protocol_name ialah nama protokol (cth., "WM_DELETE_WINDOW")
  • pengendali ialah fungsi yang perlu dipanggil apabila protokol dicetuskan

Contoh Penggunaan

Contoh berikut menunjukkan cara mengendalikan acara tutup tetingkap dalam Tkinter:

<code class="python">import tkinter as tk
from tkinter import messagebox

root = tk.Tk()

def on_closing():
    if messagebox.askokcancel("Quit", "Do you want to quit?"):
        root.destroy()

root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()</code>
Salin selepas log masuk

Dalam contoh ini:

  • Fungsi on_closing ditakrifkan untuk menggesa pengguna untuk pengesahan sebelum menutup tetingkap.
  • Kaedah protokol digunakan untuk mendaftar on_closing sebagai pengendali untuk protokol WM_DELETE_WINDOW.
  • Kaedah gelung utama menjalankan gelung acara utama, menunggu acara seperti permintaan tutup tetingkap.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Acara Tutup Tetingkap di Tkinter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!