use diagnostics; use strict; use Tk; my $colour = "white"; my $main = MainWindow->new; my $label = $main->Label(-text => 'Hello, world!')->pack; my $button1 = $main->Menubutton(-text => "More...", -underline => 0, -tearoff => 0, -activebackground => $colour, -relief=> "raised",)->pack; my $entry1 = $button1->command(-label => 'Quit1',-command => [$main => 'destroy'], ); my $entry2 = $button1->separator(); # colour it ?!? -bg => $colour, does not work ???? my $entry3 = $button1->command(-label => 'Quit2',-command => [$main => 'destroy'], ); # Q3........... would also like to know if it is possible to get the proper names (var names maybe that I used) for the $widgets so I can read them better... # as of "$main" rather than "MainWindow=HASH(0x1828c84)" # or "$label" rather than "Tk::Label=HASH(0x1c02eb8)" # from this part of the script: ############ to catch(recolour) any non white(coloured) areas ################################ print "<<<<<<<<<<<<<<<<<<<<<<< Colouring widgets >>>>>>>>>>>>>>>>>>>>>>>>>>>\n"; change_colors2( $main, $colour, # $colourt, $foreground ); sub change_colors2{ my ( $widget, $color, ) = @_; print "Widget is $widget, it's background color is $color.\n"; # The above is the part where I'm trying to get the proper names (var names maybe that I used) for the $widget so I can read them better. # as of "MainWindow=$main" in "Widget is MainWindow=HASH(0x1828c84), it's background color is white." # or "Tk::Label=$label" rather than "Tk::Label=HASH(0x1c02eb8)" $widget->configure( -bg => $color,); # $main->update; if ( my @children = $widget->children ) { change_colors2( $_, $color,) for @children; print "Child widget is $_, it's background color is $color.\n" for @children; # try to get the proper names (var names maybe that I used) for the $widget/$_ so I can read them better ?!? # or give names ??? $main->update; } } ###################################################################################### # Q4......... also, who would I use the Tk::Label=HASH(0x1c02eb8) entries, in a configure, as of: # Tk::Label=HASH(0x1c03614)->configure(-fg => "gray",); # as apposed to: $label->configure(-fg => "gray",); $main->update; MainLoop;