我可以在光标结束时自定义pygtk工具提示吗?

时间:2011-10-02 15:50:20

标签: python cursor tooltip pygtk mousehover

  

请查看以下代码段:

    import gtk

    def callback(widget, x, y, keyboard_mode, tooltip):
        hbox = gtk.HBox(False, 8)
        button = gtk.Button('Exit Tooltip')
        label = gtk.Label('Tooltip text')
        hbox.pack_start(label)
        hbox.pack_start(button)
        hbox.show_all()
        tooltip.set_custom(hbox)
        return True

    label = gtk.Label('Test label')
    label.set_has_tooltip(True)
    label.connect('query-tooltip', callback)

我在这里创建了一个自定义工具提示,其中包含 关闭按钮 。现在我希望保持直到我点击关闭按钮。搜索谷歌并没有那么有用。此外,我还想知道工具提示关闭时发出的信号/事件

  

对于 JQuery / JavaScript / Ajax 工具提示等,可以顺利处理类似的问题   对于 gtk / pygtk 没有运气:(

提前致谢...

1 个答案:

答案 0 :(得分:0)

我也有这个问题,据我所知,没有办法确定工具提示的持续时间。

我所做的(并向您推荐)是您制作自己的“工具提示”并通过事件框将其背景颜色设置为黄色或任何您想要的颜色。确保你还没有显示它。这只是一个简化的代码,因为您需要自己在项目中定位和调整它。

color = gtk.gdk.rgb_get_colormap().alloc_color('black')
ebTooltip = gtk.EventBox()
btnTooltip = gtk.Button("Close")
ebTooltip.add(btnTooltip)
ebTooltip.modify_bg(gtk.STATE_NORMAL, color)

现在,您只需要通过回调隐藏并显示此事件框。要显示它,请致电...

ebTooltip.show()

并隐藏它(可能是关闭按钮的“点击”事件)......

ebTooltip.hide()

希望能解决你的问题!