微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

具有不同背景颜色的Python 3 tkinter检查按钮对话框

如何解决具有不同背景颜色的Python 3 tkinter检查按钮对话框

该应用程序是基于画布的应用程序。对于gui上的某个框,当用户单击它时,我会弹出一个检查按钮对话框。该对话框的顶部包含一个彩色gif图像。在其下是48个按4个一组排列的复选按钮。每四个一组对应于gif图像中的一种颜色。因此,我将每个复选框的背景色设置为gif图像中的相应颜色。这有助于用户选择适当的按钮。颜色只是rgb字符串,例如“#00cc00”等。
我的问题是,当我在Linux上运行时,除非将鼠标悬停在复选按钮上,否则复选按钮的背景色不会出现。否则,它们只有灰色背景。当我从MobaXterm在Windows上运行时,它就像一个魅力。背景颜色立即显示。但是,目标平台是Linux。 我尝试了以下操作:使用ttk而不使用ttk。强制更新对话框,强制“不执行任何操作”鼠标Enter事件。尽管这些都没有奏效。 python 3版本是带有tkinter 8.6.10的anaconda 3.7.6。

解决方法

我找到了解决方案。对于每个检查按钮,我将事件Enter和Leave绑定到不执行任何操作的回调,仅返回。然后,在创建对话框之后,我首先调用event_generate来回车,然后离开该复选按钮。 这似乎可以解决问题,并且对话框也可以正常工作。 不过,如果有人有一个更优雅的解决方案,我也希望看到。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。