Python 按下Tkinter按钮时,按钮保持凹陷状态

Python 按下Tkinter按钮时,按钮保持凹陷状态,python,button,csv,lambda,tkinter,Python,Button,Csv,Lambda,Tkinter,我不知道我的问题到底在哪里,它要么在绑定中,要么在被调用的函数本身中 我的按钮都显示在labelFrame下,每个按钮都带有一个输入框,因此用户可以加载许多csv文件进行分析,并且文件路径可见。用户必须对其进行搜索,因为这些文件可能存在于我的不同且未连接的项目文件夹中 这是一个示例按钮 csv_type21 = Button(csvfiles, text = "Browse ...") csv_type21.bind("<Button-1>", lambda event, obj =

我不知道我的问题到底在哪里,它要么在绑定中,要么在被调用的函数本身中

我的按钮都显示在labelFrame下,每个按钮都带有一个输入框,因此用户可以加载许多csv文件进行分析,并且文件路径可见。用户必须对其进行搜索,因为这些文件可能存在于我的不同且未连接的项目文件夹中

这是一个示例按钮

csv_type21 = Button(csvfiles, text = "Browse ...")
csv_type21.bind("<Button-1>", lambda event, obj = var21, tid = 21: find_cvsfile(event, obj, tid))
我尝试过摆弄大量不同的变量和参数,但没有任何效果。我想应该是多个按钮调用同一个命令,但我不能确定

感谢您的帮助


谢谢。

通过移除绑定解决了问题。lambda命令被移动到按钮声明中,而“event”参数则从find_csvfile函数中删除。此解决方案可防止按下按钮时按钮凹陷

csv_type21 = Button(csvfiles, text = "Browse ...", command = lambda obj = var21, tid = 21: find_csvfile(obj, tid))
使用button.bind(“,function)进行探测

当使用“”时,在Function()执行过程中按下鼠标按钮并释放时调用start


当按下return(返回)按钮时,在def find(事件、obj、tid)文件的末尾添加return“break”(返回“break”):

find22
<代码>查找21?哎哟:(为什么要使用
命令
参数并与
绑定?要获得任何帮助,首先要将代码减少到尽可能小的程度,这样它仍然可以演示问题。第一个示例按钮已被删除,我将两个示例都放了出来,因为我不知道问题所在。我示例中的另一个按钮仍然是ins和尽可能小。如果在
obj.set(filepath)之后放置一个print语句
,然后按下按钮,您看到打印语句了吗?如果没有,按钮保持凹陷的原因是
find\u csvfile
没有返回。我按照建议在之后设置了打印状态,它确实到达了该语句并打印出来,但仍然保持凹陷。这与csv文件已打开这一事实有关吗?如何保存它这就是真正的答案
csv_type21 = Button(csvfiles, text = "Browse ...", command = lambda obj = var21, tid = 21: find_csvfile(obj, tid))
def funcion()
   print