繁体   English   中英

Tkinter的“悬停”弹出窗口

[英]'hover over' popup with Tkinter

我已经使用Tkinter菜单小部件在python应用程序中实现了信息弹出窗口。 我在根窗口的画布上有一个文本小部件。 我创建了一个菜单部件,其根为根。 当我检测到鼠标悬停在文本窗口小部件上时,我使用menuWidget.post()发布了弹出菜单。 当我从文本窗口小部件收到请假事件时,我的意图是通过调用menuWidget.unpost()使弹出窗口消失,只有在我单击文本窗口小部件外部的其他位置时,弹出菜单才会消失。

首先,这是实现信息弹出窗口的明智方法吗? 谁能告诉我为什么弹出菜单不会消失?

这不是执行信息弹出窗口的正确方法。 在Mac和Windows计算机上,菜单是本机控件。 因此, unpost命令不起作用,因为tk将控制权交给了系统事件循环以获取特定于平台的行为。

您要使用的是设置了overrideredirect标志的顶级窗口。 这使您可以在任何需要的地方显示无边界窗口。 这样做的好处是您不仅限于简单的文本-您可以在顶层中放置任何内容-另一个文本小部件,画布,按钮等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM