in reply to Re^5: Balloon and menus options
in thread Balloon and menus options

Hi,

A Tk::Optionmenu isa Tk::Menubutton. You want to attach a balloon to a Tk::Menu here. You can access the menu associated with a Optionmenu-button using the menu() method:

#!/usr/local/bin/perl use strict; use warnings; use Tk; use Tk::Balloon; my $mw = MainWindow->new(); $mw->title('Simple example'); my $status = $mw->Label( -width => 20, -relief => 'groove', )->pack(); my $balloon = $mw->Balloon(-statusbar => $status); my $menu = $mw->Optionmenu( -textvariable => \my $res, -options => [qw(A B C D)], )->pack(); $balloon->attach( $menu->menu, # pass the Tk::Menu instance -msg => [qw(a b c d)], #-msg => 'foo', # this works, but you get the same msg for all menu entries, of co +urse ); MainLoop;

works as expected on Linux. Windows is special in that events over Menu windows are not passed to Tk so Ballon will not work here. <Motion> bindings will not trigger here either...

And - yes: Balloon works with Listbox as well as with Canvas.


Cheers, Christoph

Replies are listed 'Best First'.
Re^7: Balloon and menus options
by almut (Canon) on Dec 09, 2009 at 01:10 UTC
    ...works as expected on Linux.

    Just tried it (because it looked like a good idea), but it doesn't seem to work for me, i.e. with $menu->menu I no longer get any tooltips at all, not even random junk ones. — Just for the record.  (Linux, Perl 5.8.8, Tk 804.027)

      I tested with Tk 804.028_500 using compiz and metacity window managers and it works in both cases.


      Cheers, Christoph