python经验:tkinter控件的bind()究竟该bind给谁?
pythin | tkinter | bind方法及event参数
·
学了一段时间Python的tkinter模块。在使用widget.bind方法时,没明白这个widget使用哪个控件合适,只好一股脑都使用tk.TK()出来的对象(我通常使用root名)。
后来经过摸索,发现最适合的是能响应输入的控件,比如entry、combobox、listbox等等,这样可实现完成操作后直接按回车键即可提交,既能保证正常响应,逻辑也合理。而不要bind到label、frame等只用于显示或用作容器的控件上(其实这样也会造成bind失效,即不响应事件)。
另外,由于bind方法会默认传递event参数,所以其指定的回调函数必须也要有event参数。如果别的地方也要使用这个回调参数,比如让一个button也绑定这个函数,而后者不使用event函数,可以在event实参位置使用None,即command=func(None, arg1,arg2...)
更多推荐
所有评论(0)