有什么方法可以向组合框的各个条目添加工具提示?我希望这样做,以便在组合框处于打开状态时(并且只有在其打开时),并且用户将鼠标悬停在可能的选择之一上,其他信息会显示在工具提示中。

似乎组合框内没有任何实际的小部件可向其中添加工具提示。
这样做的唯一方法是以某种方式将小部件(如标签)放置在组合框的条目中吗?

最佳答案

我认为您将标签放入组合框并向标签添加工具提示是正确的。您可以为包含标签的组合框创建一个自定义列表存储。这是尝试,不是在pygtk中,而是在guile-gnome中(我的原居地,对不起!我可能稍后再尝试翻译为pygtk)。它正在运行,但尚未正确显示,标签尚未显示。

实际上,让gtkcombobox显示小部件(而不只是文本)似乎是可能的,但是很困难-例如,参见here。它可能需要一个不属于基础库的自定义GtkCellRendererWidget类。

(use-modules (oop goops)
         (gnome gtk))

(define w (make <gtk-window> #:title "combo demo"))
(connect w 'destroy (lambda args (gtk-main-quit)))

(define combo (make <gtk-combo-box>))
(define list-store (gtk-list-store-new `(,<gtk-label>)))
(set combo 'model list-store)
(define tooltips (gtk-tooltips-new))

(define (list-store-append-label-with-tooltip list-store text tip)
  (let ((label (make <gtk-label> #:label "hello")))
    (gtk-tooltips-set-tip tooltips label tip #f)
    (gtk-list-store-set-value
     list-store
     (gtk-list-store-append list-store)
     0
     label)))

(list-store-append-label-with-tooltip list-store "hello" "first word")
(list-store-append-label-with-tooltip list-store "world" "second word")

(add w combo)
(show-all w)

(gtk-main)

关于python - 是否将工具提示添加到GTK ComboBox中的条目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9692756/

10-12 12:20
查看更多