如何在 Tkinter 中悬停后更改多个小部件的颜色?

2024-03-27

我正在尝试制作一个脚本,它将在悬停后更改小部件的背景和前景色。

from Tkinter import *

root=Tk()

Hover1=Button(root,text="Red color", bg="white")
Hover1.pack()

Hover2=Button(root,text="Yellow color", bg="white")
Hover2.pack()

Hover1.bind("<Enter>",Hover1.configure(bg="red"))
Hover1.bind("<Leave>",Hover1.configure(bg="white"))

Hover2.bind("<Enter>",Hover2.configure(bg="yellow"))
Hover2.bind("<Leave>",Hover2.configure(bg="white"))

root.mainloop()

但是当我将鼠标悬停在任何按钮上时,什么也没有发生,它们保持白色。我知道我可以使用一个函数,但是每个小部件都有两个函数(1 表示 , 1 为 )。我想创建一个函数,它将重新着色我悬停在其上的小部件,并解释为什么该脚本没有执行我希望它执行的操作。

我希望我能很好地描述我的问题。感谢您的每一个回答。

PS:我想逃课。

末日山


您需要提供一个可调用函数来绑定到事件。相反,您正在调用一个函数并传递其结果。像这样修复它:

Hover1.bind("<Enter>", lambda event, h=Hover1: h.configure(bg="red"))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Tkinter 中悬停后更改多个小部件的颜色? 的相关文章

随机推荐

  • Javamail 无法收到所有邮件

    我试图获取我的 Gmail 的所有邮件 但只能获取 250 封 根据https javaee github io javamail FAQ gmailsettings https javaee github io javamail FAQ
  • Android短信设置唯一ID

    我正在尝试开发一个发送和接收 SMS 消息 除其他外 的 Android 应用程序 我希望我的应用程序短信能够轻松识别 我不想使用 SMS 消息正文作为这个唯一标识符 我认为必须有一个我可以使用的 SMS 消息属性 遗憾的是 我未能找到一个
  • 直接调用功能组件

    无状态功能组件只是一个接收函数props并返回 React 元素 const Foo props gt
  • 单独程序集中的 ASP.NET Core MVC 控制器

    我正在使用 ASP NET MVC Core RC 2 我有一个针对完整 NET 框架的 Web 项目 我在解决方案中还有一个单独的类库 也针对完整的框架 在类库中 我有一个控制器 标有路由属性 我已经从网络项目中引用了类库 该程序集引用了
  • 捆绑 ES6 文件而不进行转译

    我可能遗漏了一些明显的东西 但在发布此内容之前我进行了很多搜索 说实话 我很震惊没有找到解决方案 我想将 ES6 文件捆绑到单个模块中 但是由于我用于测试的浏览器支持 ES6 因此实际上不想转译任何内容 我不知道该怎么做 我正在使用 web
  • 如何使 可编辑?

    我找到了一些示例 解释了如何使输入类型 文件不可编辑 喜欢
  • 如何将浮动子 div 的高度扩展到父级的高度?

    我的页面结构如下 div class parent div class child left floatLeft div div class child right floatLeft div div 现在child leftDIV 的内容
  • 如何获得鲜明的人物形象?

    我有一个类似的代码 string code AABBDDCCRRFF 在此代码中 我只想检索不同的字符 输出应该是这样的 ANS ABDCRF string code AABBDDCCRRFF string answer new Strin
  • .net/java 中有哪些优秀的集体智能开源库?

    或者有任何广泛利用集体智慧的开源项目吗 看看书吧集体智慧 https rads stackoverflow com amzn click com 0596529325作者 托比 塞加兰 它涵盖了很多主题 例如亚马逊如何生成推荐等 书中有很多
  • 在 TypeScript 中将变量定义为可区分联合的一种变体

    我有以下打字稿代码 它使用可区分的联合来区分一些相似的对象 interface Fish type FISH interface Bird type BIRD flyingSpeed number interface Ant type AN
  • Magento REST API 身份验证

    有没有办法从代码传递登录凭据 而不是每次在弹出窗口中输入凭据进行登录授权 您不需要每次都需要登录凭据进行授权 OAuth 成功授权后您将获得访问令牌和访问密钥 稍后使用它们进一步调用 API Oauth 协议就是这样工作的 我猜 Magen
  • PDO:使用 mysql INSERT ON DUPLICATE KEY UPDATE 检查更新或插入的记录

    使用 PDO PHP 和 MySQL 当我使用某个记录时 如何检查记录是否被插入或更新INSERT ON DUPLICATE KEY UPDATE陈述 我见过一个使用的解决方案mysql affected rows 对于 PHP 但我正在寻
  • 在循环期间使用 while mysql_fetch_array 和 UPDATE

    我正在尝试从一个表中提取数据 将列与变量进行比较 然后如果它们匹配 则添加它们并更新另一个表上的字段 看来 UPDATE 只在 while 循环内工作一次 并将该一次的值放入整个表中该列的每一行中 奇怪的是 当我回显它时 所有值都是正确的
  • 数据表导出到 Excel <选择选项>

    在我的测试页中 我插入了一个选项列表 我需要仅将所选值导出到 Excel 但现在我的 Excel 结果包括 选择选项 的所有列表 My code
  • 如何使用 PHP 解析序列化数据?

    这是我的序列化数据的示例 a 10 s 7 contact s 1 1 s 19 profile affiliation s 23 University Inc s 18 profile first name s 3 Ben s 22 pr
  • 如何在shutil.copytree中编写忽略的回调函数

    我对 python 比较陌生 我正在尝试将一个目录复制到另一个维护结构的目录 我在用 shutil copytree src dst symlinks False ignore None copy function copy2 ignore
  • 无法读取未定义的属性“executeScript”

    我按照 chrome 扩展的 入门 教程进行操作 但出现以下错误 我搜索谷歌 有人说无法访问 content js 中的 executeScript 但错误来自 popup js 我曾尝试将 chrome scripting execute
  • 如何 npm 更新 package-lock.json 中的依赖项版本?

    正如标题所示 但是 如果可能的话 我不想在 package lock json 中手动重写版本字符串 我尝试了以下方法 如何将 package json 中的每个依赖项更新到最新版本 https stackoverflow com ques
  • 无法从“const jchar *”转换为“const wchar_t *”

    这是从 cpp 文件引发的错误 我正在使用 Visual Studio 10 和 windows7 32 位 并从 Eclipse Indigo 进行编译 AUWideString JNIEnv jni jstring jstr mJni
  • 如何在 Tkinter 中悬停后更改多个小部件的颜色?

    我正在尝试制作一个脚本 它将在悬停后更改小部件的背景和前景色 from Tkinter import root Tk Hover1 Button root text Red color bg white Hover1 pack Hover2