When you need a tooltip with a little more fancy contents,
like adding an image, or you want the tooltip to have different
contents per gtk.tree_view.TreeView row or cell, you will have to do a
little more work:
Set the property@Gtk.Widget:has-tooltip property to true.
This will make GTK monitor the widget for motion and related events
which are needed to determine when and where to show a tooltip.
Connect to the signal@Gtk.Widget::query-tooltip signal.
This signal will be emitted when a tooltip is supposed to be shown.
One of the arguments passed to the signal handler is a gtk.tooltip.Tooltip
object. This is the object that we are about to display as a tooltip,
and can be manipulated in your callback using functions like
gtk.tooltip.Tooltip.setIcon. There are functions for setting
the tooltip’s markup, setting an image from a named icon, or even
putting in a custom widget.
Return true from your ::query-tooltip handler. This causes the tooltip
to be show. If you return false, it will not be shown.
gtk.tooltip.Tooltip is an object representing a widget tooltip.
Basic tooltips can be realized simply by using gtk.widget.Widget.setTooltipText or gtk.widget.Widget.setTooltipMarkup without any explicit tooltip object.
When you need a tooltip with a little more fancy contents, like adding an image, or you want the tooltip to have different contents per gtk.tree_view.TreeView row or cell, you will have to do a little more work: