Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Perintah Butang Saya Melaksanakan Serta-merta Daripada Klik?

Mengapa Perintah Butang Saya Melaksanakan Serta-merta Daripada Klik?

Susan Sarandon
Lepaskan: 2024-12-27 12:09:11
asal
153 orang telah melayarinya

Why Does My Button's Command Execute Immediately Instead of on Click?

Mengapa Perintah Butang Saya Melaksanakan Serta-merta selepas Penciptaan?

Soalan:

Dalam kod yang disediakan, butang adalah dicipta dan pilihan arahannya ditetapkan kepada panggilan fungsi dengan hujah. Walau bagaimanapun, butang mencetak hujah dan rentetan lain serta-merta selepas penciptaan, dan tidak bertindak balas kepada klik. Mengapa ini berlaku?

Jawapan:

Kod yang disediakan menghantar hasil butang panggilan fungsi('hey') terus ke pilihan arahan. Ini menyebabkan fungsi dilaksanakan serta-merta, bukannya apabila butang diklik.

Untuk membetulkannya, cara yang betul untuk menghantar fungsi sebagai arahan ialah menggunakan namanya tanpa kurungan atau hujah. Contohnya:

b = Button(admin, text='as', command=button)
Salin selepas log masuk

Walau bagaimanapun, untuk menghantar hujah kepada fungsi, anda boleh menggunakan fungsi lambda, iaitu fungsi tanpa nama yang mengembalikan rujukan kepada dirinya sendiri:

b = Button(admin, text='as', command=lambda: button('hey'))
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Perintah Butang Saya Melaksanakan Serta-merta Daripada Klik?. 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