0

请查看以下代码段:

    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则没有运气:(

提前致谢 ...

4

1 回答 1

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()

希望能解决您的问题!

于 2011-11-21T23:48:36.230 回答