cup*_*cup 3 python tkinter tcl
我在互联网上寻找此内容时遇到困难 - 我的搜索技能不够完善。我可以记住事件名称,但我总是必须查找要使用什么类型的尖括号
例如,一些 tkinter 事件与 <> 中的单词绑定
tab4e.bind("<Button-1>",f_x)
Run Code Online (Sandbox Code Playgroud)
其他的在<<>>,例如
nbook.bind('<<NotebookTabChanged>>', handle_tab_changed)
Run Code Online (Sandbox Code Playgroud)
是否有任何原因导致某些绑定位于 <> 中而其他绑定位于 <<>> 中?
尽管示例是用 python 给出的,但我还是添加了 TCL,以防 TCL 编码员可能知道答案。
具有一组括号的绑定是底层操作系统直接支持的内置事件。示例包括<KeyPress>、、、等等。大多数内置事件直接与实际物理事件相关,例如按下鼠标按钮或键盘上的按键。<ButtonPress-1><Configure>
带双括号的绑定称为虚拟事件。它们不一定代表任何类型的物理事件,并且通常(尽管并非总是)对于特定小部件来说是唯一的。例如,<<ListboxSelect>>仅由列表框使用,<<NotebookTabChanged>>仅由ttk笔记本使用,等等。
虚拟事件可以通过使用 widget 方法的其他事件的组合来触发event_add,尽管它们也可以通过调用 来生成event_generate。
tcl/tk 手册页包含预定义虚拟事件的列表。