如何解决tkinter按钮bind错误
所以我想将Enter按钮绑定到该功能,因此当我按下带有Enter按钮的按钮时它将起作用。 但是,每次我这样做的时候,按钮总是有一个奇怪的错误,有时它总是处于按下状态,或者有时按钮充当我在代码中编写一个前台活动参数。
我总是这样写
def itung():
import speedtest
st = speedtest.Speedtest()
lbl['text']=round(st.download/1000000,2)
lbl= Label(root,width=5,height=3)
lbl.place(x=n,y=n)#n here is just an example
btn = Button(root,text='tombol',bg='brown',fg='yellow')
btn.place(x=n,y=n)#n here is just an example
btn.bind('<Return>',itung)
那么有人可以帮我吗?
解决方法
您应该在函数中尝试使用此def itung(event = None):
。这样可以确保itung
在按下键时按预期接收None
参数。
@Dsterror大家好,欢迎来到Stack Overflow社区!我已经看到了您的问题,似乎您只需要对代码进行一些调整:
#add *args in your parameters for the itung function
def itung(*args):
import speedtest
st = speedtest.Speedtest()
lbl['text']=round(st.download/1000000,2)
lbl= Label(root,width=5,height=3)
lbl.place(x=n,y=n)#n here is just an example
btn = Button(root,text='tombol',bg='brown',fg='yellow')
btn.place(x=n,y=n)#n here is just an example
btn.bind('<Return>',itung)
您可以将*args
替换为任何其他参数变量
现在一些解释。
无论何时将键或鼠标按钮绑定到小部件,tkinter都希望您在函数中创建一个参数,该参数将被触发。您可能会问为什么会这样?有什么关系?想象一下,将鼠标左键绑定到Entry
小部件。每当您单击它时,都会触发一个函数。有时,在点击Entry
时,我们可能需要光标的x和y坐标。因此,tkinter
将其存储在列表中,并将其作为参数提供给您要绑定的函数。这就是为什么我们放入*args
。
希望您能理解。如果没有,请告诉我不清楚的地方
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。