如何从文本小部件中取消绑定 Ctrl - O?
How can I unbind Ctrl - O from Text widget?
在文本小部件中 Ctrl + O 似乎正在向文本区域添加新行。我有下面的代码将方法绑定到 Ctrl + O 但它仍然添加了一个换行符:
import tkinter as tk
root = tk.Tk()
txt = tk.Text(root)
txt.bind('<Control-o>', lambda event: print("o"))
txt.bind('<Control-O>', lambda event: print("O"))
txt.pack()
root.mainloop()
如何防止 Ctrl + O 添加换行符?
根据 this and this 返回文字字符串 "break" 可以防止这种情况发生,就像以 return "break"
结束回调函数一样。喜欢:
import tkinter as tk
root = tk.Tk()
def ctrl_o(event):
print("o")
return "break"
txt = tk.Text(root)
txt.bind('<Control-o>', ctrl_o)
txt.bind('<Control-O>', ctrl_o)
txt.pack()
root.mainloop()
使用 lambda
但是我无法 return "break"
。
在文本小部件中 Ctrl + O 似乎正在向文本区域添加新行。我有下面的代码将方法绑定到 Ctrl + O 但它仍然添加了一个换行符:
import tkinter as tk
root = tk.Tk()
txt = tk.Text(root)
txt.bind('<Control-o>', lambda event: print("o"))
txt.bind('<Control-O>', lambda event: print("O"))
txt.pack()
root.mainloop()
如何防止 Ctrl + O 添加换行符?
根据 this and this 返回文字字符串 "break" 可以防止这种情况发生,就像以 return "break"
结束回调函数一样。喜欢:
import tkinter as tk
root = tk.Tk()
def ctrl_o(event):
print("o")
return "break"
txt = tk.Text(root)
txt.bind('<Control-o>', ctrl_o)
txt.bind('<Control-O>', ctrl_o)
txt.pack()
root.mainloop()
使用 lambda
但是我无法 return "break"
。