


Memahami Isu Keterlihatan Imej Tkinter
Tkinter, perpustakaan GUI yang popular untuk Python, kadangkala menghadapi masalah dengan memaparkan imej apabila dibuat dalam fungsi. Tingkah laku ini berpunca daripada cara Tkinter mengendalikan pembolehubah setempat seperti rujukan imej.
Cabaran
Pertimbangkan kod berikut yang berjaya memaparkan imej:
import tkinter root = tkinter.Tk() canvas = tkinter.Canvas(root) canvas.grid(row = 0, column = 0) photo = tkinter.PhotoImage(file = './test.gif') canvas.create_image(0, 0, image=photo) root.mainloop()
Walau bagaimanapun, apabila mencipta imej dalam kaedah kelas, imej itu hilang.
import tkinter class Test: def __init__(self, master): canvas = tkinter.Canvas(master) canvas.grid(row = 0, column = 0) photo = tkinter.PhotoImage(file = './test.gif') canvas.create_image(0, 0, image=photo) root = tkinter.Tk() test = Test(root) root.mainloop()
The Penyelesaian
Isu timbul kerana foto pembolehubah setempat mewakili rujukan kepada imej. Dalam kaedah kelas, rujukan ini hilang kerana foto di luar skop selepas kaedah dilaksanakan.
Untuk menyelesaikan masalah ini, simpan rujukan berterusan kepada foto dalam contoh kelas:
import tkinter class Test: def __init__(self, master): canvas = tkinter.Canvas(master) canvas.grid(row = 0, column = 0) self.photo = tkinter.PhotoImage(file = './test.gif') canvas.create_image(0, 0, image=self.photo) root = tkinter.Tk() test = Test(root) root.mainloop()
Dengan menyimpan rujukan dalam self.photo, ia berterusan sepanjang hayat contoh kelas, memastikan imej kekal kelihatan.
Atas ialah kandungan terperinci Mengapa Imej Tkinter Hilang Apabila Dicipta Dalam Kaedah Kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel membincangkan kemustahilan pemahaman tuple di Python kerana kekaburan sintaks. Alternatif seperti menggunakan tuple () dengan ekspresi penjana dicadangkan untuk mencipta tupel dengan cekap. (159 aksara)

Artikel ini menerangkan modul dan pakej dalam Python, perbezaan, dan penggunaannya. Modul adalah fail tunggal, manakala pakej adalah direktori dengan fail __init__.py, menganjurkan modul yang berkaitan secara hierarki.

Artikel membincangkan docstrings dalam python, penggunaan, dan faedah mereka. Isu Utama: Kepentingan Docstrings untuk Dokumentasi Kod dan Kebolehcapaian.

Artikel membincangkan fungsi Lambda, perbezaan mereka dari fungsi tetap, dan utiliti mereka dalam senario pengaturcaraan. Tidak semua bahasa menyokong mereka.

Artikel membincangkan Break, Continue, dan Lulus di Python, menerangkan peranan mereka dalam mengawal pelaksanaan gelung dan aliran program.

Artikel ini membincangkan pernyataan 'lulus' di Python, operasi null yang digunakan sebagai pemegang tempat dalam struktur kod seperti fungsi dan kelas, yang membolehkan pelaksanaan masa depan tanpa kesilapan sintaks.

Artikel membincangkan fungsi lulus sebagai argumen dalam python, menonjolkan manfaat seperti modularity dan penggunaan kes seperti penyortiran dan penghias.

Artikel membincangkan / dan // pengendali dalam python: / untuk bahagian yang benar, // untuk bahagian lantai. Isu utama adalah memahami perbezaan dan kes penggunaannya. Kira -kira: 158


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Dreamweaver CS6
Alat pembangunan web visual

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
