Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencapai Keterlihatan Widget Dinamik dalam Tkinter?

Bagaimana untuk Mencapai Keterlihatan Widget Dinamik dalam Tkinter?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-28 06:52:30300semak imbas

 How to Achieve Dynamic Widget Visibility in Tkinter?

Mengawal Keterlihatan Widget dalam Tkinter

Dalam Tkinter, keterlihatan widget boleh ditogol menggunakan atribut yang boleh dilihat. Secara lalai, widget boleh dilihat, tetapi tetapan boleh dilihat kepada tidak akan membuatkannya hilang.

Sebagai contoh:

<code class="python">Label(self, text='hello', visible='yes')</code>

Akan memaparkan label dengan teks "hello".

<code class="python">Label(self, text='hello', visible='no')</code>

Akan menyembunyikan label.

Walau bagaimanapun, jika anda memerlukan kawalan yang lebih terperinci ke atas keterlihatan widget, anda mungkin mendapati kaedah pack_forget dan grid_forget berguna. Kaedah ini boleh digunakan untuk membuat widget kelihatan atau hilang tanpa memusnahkannya.

Sebagai contoh, pertimbangkan skrip berikut:

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

def hide_me(event):
    event.widget.pack_forget()

root = tk.Tk()
btn = tk.Button(root, text="Click")
btn.bind('<Button-1>', hide_me)
btn.pack()
btn2 = tk.Button(root, text="Click too")
btn2.bind('<Button-1>', hide_me)
btn2.pack()
root.mainloop()</code>

Dalam skrip ini, mengklik pada mana-mana butang akan menyebabkannya untuk hilang. Ini kerana fungsi hide_me memanggil pack_forget pada widget acara, yang mengalih keluarnya daripada pengurus peknya.

Kaedah grid_forget berfungsi dengan cara yang sama, tetapi untuk widget yang diuruskan oleh reka letak grid.

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Keterlihatan Widget Dinamik dalam Tkinter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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