Python Tkinter:文本小部件解绑鼠标滚轮
我现在有一个图形界面(GUI),里面使用了文本框(Text widget),我发现可以用鼠标滚轮来上下滚动这个文本框。
不过,我已经为这个功能准备了一个滚动条,所以我打算把鼠标滚轮用在其他事情上。那么,怎么才能把这个滚轮的功能从文本框上去掉呢?
下面是一个示例代码:
from Tkinter import *
def onclick():
pass
root = Tk()
text = Text(root)
text.insert(INSERT, "Hello.....")
for _ in range(1000):
text.insert(END, "Bye Bye.....")
text.pack()
text.tag_add("here", "1.0", "1.4")
text.tag_add("start", "1.8", "1.13")
text.tag_config("here", background="yellow", foreground="blue")
text.tag_config("start", background="black", foreground="green")
root.mainloop()
1 个回答
3
在回调函数中使用return 'break'
会改变默认的行为。只需要把<MouseWheel>
事件绑定到文本小部件上就可以了:
def scrollwheel(event):
return 'break'
text.bind('<MouseWheel>', scrollwheel)
参考链接: http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm