首頁 > 後端開發 > Python教學 > 為什麼我的 Tkinter 按鈕的命令是立即執行而不是單擊時執行?

為什麼我的 Tkinter 按鈕的命令是立即執行而不是單擊時執行?

Susan Sarandon
發布: 2024-12-23 11:01:33
原創
401 人瀏覽過

Why is my Tkinter button's command executing immediately instead of on click?

Tkinter 中意外的按鈕觸發:了解函數引用

在Tkinter 中,建立按鈕時,可以指定將執行的命令單擊按鈕時。但是,在您的程式碼範例中,建立按鈕時會立即執行提供的命令。

要了解發生這種情況的原因,請考慮以下程式碼片段:

此程式碼相當於:

當您在指令參數內呼叫button('hey')時,您正在呼叫該函數並立即執行它。結果,在實際按一下按鈕之前列印了程式碼 print('hey') 和 print('het')。

要解決此問題,您需要傳遞函數的引用,而不需要執行它。為此,只需省略括號即可:

這將傳遞對按鈕函數的引用,並且它將在單擊按鈕時執行,而不是在創建按鈕時執行。

或者,您可以使用 lambda 函數建立匿名函數,該函數使用所需參數呼叫原始函數:

以上是為什麼我的 Tkinter 按鈕的命令是立即執行而不是單擊時執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板