簡體   English   中英

當光標懸停在上面時,我可以使自定義pygtk工具提示保持打開狀態嗎?

[英]Can I make a custom pygtk tooltip stay on when the cursor is over it?

請查看以下代碼段:

    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來說沒有運氣:(

提前致謝 ...

我也遇到了這個問題,據我所知,沒有任何方法可以確定工具提示的停留時間。

我所做的(並向您推薦)是您制作自己的“工具提示”,並通過事件框將其背景顏色設置為黃色,或將其設置為所需的任何顏色。 確保您沒有顯示它。 這只是一個簡化的代碼,因為您需要自己在項目中定位和調整大小。

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

並且,將其隱藏(可能在關閉按鈕的“ clicked”事件上)...

ebTooltip.hide()

希望能解決您的問題!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM