|
本帖最后由 Charis 于 2018-4-9 22:53 编辑
- def radioclick(event,item):
- print("click radio")
- print(item)
- cv.itemconfig(item,image=icon_circle_slelected_image)
复制代码
这个函数主要是鼠标左键点击时,切换一个图标,把单选框从未选定状态切换到选定状态
- for item in cv.find_withtag("radio"):
- print(item) #(19,24,29,34)
- cv.tag_bind(item,"<Button-1>",lambda event:radioclick(event,item)) #哈哈,但是全部绑定到34了?!
复制代码
这个是绑定触发事件的代码,cvfind_withtag()返回一个元组(这应该不是问题的关键),触发时会默认返回一个event
- cv.tag_bind(19,"<Button-1>",lambda event:radioclick(event,19))
- cv.tag_bind(24,"<Button-1>",lambda event:radioclick(event,24))
- cv.tag_bind(29,"<Button-1>",lambda event:radioclick(event,29))
复制代码 然后我一个一个绑定,居然成功了!!!!!!!!!!!!!!!!!!
个人感觉应该是lambda函数的问题,好吧,刚刚我给上文补了一句,“触发时会默认返回一个event”,貌似我知道怎么回事了,这锅lambda函数不能背。。。
然后想了想,我打了这么多字,还是发出来算了,混个脸熟也好 |
|