我正在嘗試這段代碼。我想將 don 函式用于bind()
and command
。它顯示 don() 缺少 1 個必需的位置引數:“事件”。如何解決
我的代碼
from tkinter import *
root = Tk()
root.geometry("600x500")
def don(Event):
print("hello")
root.bind("<Return>", don)
btn1 = Button(root, text="check! ", command=don).pack()
root.mainloop()
uj5u.com熱心網友回復:
問題的根源是通過呼叫的函式bind
自動獲取事件引數,但command
選項呼叫的函式沒有。訣竅是創建一個可以帶或不帶引數呼叫的函式,并且不使用引數(因為不能保證它存在)。
執行此操作的正常方法是制作event
引數選項,操作如下:
def don(event=None):
print("hello")
如果沒有傳入,這將導致event
設定為None
,這是無害的,因為函式不使用event
引數。
uj5u.com熱心網友回復:
您需要做的就是擺脫 Event 或正如我上面所說的 Event=None。取決于您是否要在以后構建它并添加一些引數
from tkinter import *
root = Tk()
root.geometry("600x500")
def don():
print("hello")
root.bind("<Return>", don)
btn1 = Button(root, text="check! ", command=don).pack()
root.mainloop()
uj5u.com熱心網友回復:
如果你想don()
用引數呼叫,你可以使用 lambda。即使沒有引數也允許
from tkinter import *
root = Tk()
root.geometry("600x500")
def don(event=None):
print("hello")
root.bind("<Return>", don)
Button(root, text="check! ", command=don).pack()
root.mainloop()
順便說一句,.pack()
回傳None
。如果你想得到物件Button
,請像這樣修改你的代碼
btn = Button(root, text="check! ", command=don)
btn.pack()
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/487464.html
上一篇:如何制作具有波紋效果的按鈕?