我正在尝试向图像添加工具提示。按照PyGTK 教程,这似乎应该有效:
image = gtk.Image()
image.set_from_file(image_path)
box.pack_start(image, expand=False)
tooltip = gtk.Tooltips()
tooltip.set_tip(image, "Hello!")
除非它没有。当我将鼠标悬停在图像上时没有任何反应。但是,我知道这适用于按钮(我运行了教程中的示例代码)。
使用 GTK 2.12 及更高版本,我可能只能使用image.set_tooltip_text("Hello!")
,但我被困在 2.10.4 并且必须使用gtk.Tooltips
.
编辑
根据以下文档gtk.Tooltips
:
工具提示只能在有自己的 X 窗口的小部件上设置。要检查小部件是否有自己的窗口,请使用
widget.flags()>k.NO_WINDOW
. 要将工具提示添加到没有自己的窗口的小部件,请将小部件放在 gtk.EventBox 中,然后将工具提示添加到事件框。
所以这解决了我的问题,但让我有点困惑。我检查了按钮的标志,它具有与gtk.NO_WINDOW
图像相同的标志。那么为什么按钮不需要 EventBox 而图像却需要呢?