tk2tip: Display and manage tooltips in Tk widgets

View source: R/tk2tip.R

tk2tipR Documentation

Display and manage tooltips in Tk widgets

Description

tk2tip() provides a simple mechanism to display tooltips on Tk widgets when the mouse cursor hoovers on top of them.

Usage

tk2tip(widget, message)

tk2killtip()

tip(x, ...)

## S3 method for class 'tk2widget'
tip(x, ...)

tip(x) <- value

## S3 replacement method for class 'tk2widget'
tip(x) <- value

Arguments

widget

The widget to which a tooltip is attached.

message

The message of the tooltip ("" to remove the tooltip).

x

A tk2widget object.

...

Further arguments to the method (unused, but reserved for future use).

value

The message of the tooltip, or "" to remove the tip.

Value

The current tip or NULL depending on the function.

Note

This implementation is done in pure Tcl code.

Author(s)

Philippe Grosjean

See Also

tk2button(), label()

Examples

## Not run: 
# These cannot be run by examples() but should be OK when pasted
# into an interactive R session with the tcltk package loaded

# Using plain Tcl/Tk label and button (tk2XXX equivalent have built-in
# tooltip features)
tt <- tktoplevel()
lb <- tklabel(tt, text = "Move mouse over me, or over the button to see tooltip")
tkgrid(lb)
tk2tip(lb, "A tooltip for the label \ndisplayed on two lines")
but <- tkbutton(tt, text = "Exit", width = 10,
  command = function() tkdestroy(tt))
tkgrid(but)
tk2tip(but, "Exit from this dialog box")

# To test tk2killtip(), move mouse on top of a widget
# so that the tip is visible, and force killing it manually using:
tk2killtip()
# Move again to the widget: the tip is displayed again.

# With tk2widgets, the tip() method can also be used:
lb2 <- tk2label(tt, text = "Move also over me to see the tooltip")
tkgrid(lb2)
tip(lb2) # No tip yet
tip(lb2) <- "Now the tooltip is there!"
# Move the mouse over that last label

tip(lb2) # Yes, this is my tooltip
tip(lb2) <- NULL # To eliminate the tooltip for this widget

## End(Not run)

tcltk2 documentation built on June 8, 2025, 1:04 p.m.