Bilakah Fungsi Parameter \'arahan\' Butang Dilaksanakan?

Barbara Streisand
Lepaskan: 2024-10-19 07:57:02
asal
977 orang telah melayarinya

When is the Button's

Perlaksanaan Parameter "perintah" Butang pada Perisytiharan: Membongkar Misteri

Dalam Python tkinter, parameter "perintah" untuk widget Butang bertujuan untuk menentukan fungsi untuk dilaksanakan apabila butang ditekan. Walau bagaimanapun, salah tanggapan yang biasa di kalangan pemula ialah pemerhatian bahawa fungsi yang dikaitkan dengan "perintah" dilaksanakan walaupun pada masa pengisytiharan butang.

Untuk memahami tingkah laku ini, kita perlu menyelidiki cara Python mengendalikan parameter fungsi. Apabila anda menghantar fungsi sebagai parameter, terdapat dua kemungkinan:

  • Melalui objek fungsi: Ini dicapai dengan hanya merujuk nama fungsi, seperti command=Hello.
  • Melepasi nilai pulangan fungsi: Ini dilakukan dengan melampirkan panggilan fungsi dalam kurungan, seperti command=Hello().

Dalam kod contoh yang anda berikan, Hello() dihantar sebagai parameter kepada widget Button, yang bermaksud bahawa fungsi itu dilaksanakan serta-merta, dan nilai pulangannya dihantar kepada "perintah." Oleh kerana Hello() tidak mengembalikan apa-apa, ia mengembalikan Tiada, yang kemudiannya diberikan kepada parameter "perintah" butang, dengan berkesan tidak melakukan apa-apa.

Untuk menyelesaikan isu ini dan laksanakan fungsi hanya apabila butang diklik, anda harus lulus objek fungsi, seperti ini:

<code class="python">hi = Button(frame, text="Hello", command=Hello)</code>
Salin selepas log masuk

Dengan cara ini, apabila butang ditekan, fungsi Hello() akan dipanggil dan akan melaksanakan kod yang dimaksudkan.

Selain itu , jika anda perlu menghantar hujah kepada fungsi, anda boleh menggunakan ungkapan lambda untuk membungkus panggilan fungsi, seperti yang ditunjukkan di bawah:

<code class="python">hi = Button(frame, text="Hello", command=lambda: Goodnight("Moon"))</code>
Salin selepas log masuk

Dalam kes ini, ungkapan lambda memastikan fungsi Goodnight() tidak dilaksanakan pada masa pengisytiharan butang, sebaliknya menunggu sehingga butang diklik dan arahan dilaksanakan.

Atas ialah kandungan terperinci Bilakah Fungsi Parameter \'arahan\' Butang Dilaksanakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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!