我一直试图让一个鼠标移动事件来改变Tkinter中的一个butten widget的背景颜色。我在网上获得了一些简单的代码,它可以用于文本,但是颜色失败。这里是:奇怪的Tkinter鼠标移动行为
from Tkinter import *
root - Tk()
b = Button(root, text='foo')
b.pack()
def enterB(event):
b.configure(text='bar', background='red')
def leaveB(event):
b.configure(text='foo')
b.bind('<Enter>', enterB)
b.bind('<Leave>', leaveB)
root.mainloop()
当我把鼠标放在按钮上时,文本变为“条”,但背景颜色保持灰色。当我的鼠标离开按钮上的区域时,背景颜色变为红色,文本变为“foo”。这与应该发生的情况相反。
如果我在leaveB函数的b.configure语句中放置background ='blue',并使其余部分保持不变,则该按钮将使该按钮保持蓝色,并且它永远不会变为红色。
谁能告诉我发生了什么事?
谢谢。
好问题。我不想冒犯你,但你应该想,如果你真的想学习一个仅仅是传统的UI工具包(来源:http://wiki.python.org/moin/TkInter,也许你可以找到还有一些有用的资源)。 – phineas
对不起,但我不确定我是否得到你。你是说没有理由将Tkinter用于Python历史的一次美好旅程之外?这没有用?感谢您的链接。我经常使用该页面。 – bev
*在我看来* Tkinter有点过时,只能一眼就看到(就像你已经过期)一样容易编程,最后但并非最不重要的是它看起来不太好。有像''wxPython'](http://wxpython.org/),['PyQt'](http://wiki.python.org/moin/PyQt)和['PyGTK'](https:/ /python-gtk-3-tutorial.readthedocs.org/en/latest/index.html),它们有最新的开发,错误修复,文档,本地外观和感觉,并且功能更强大。我推荐'wxPython'。这些UI工具包的唯一缺点是它们没有与Python解释器一起分发,所以您必须手动安装它们。 – phineas