Dave,
Thank you, the code does shed some light. I does seem that the TTK themed/stylized widgets do not quite offer the level of customizations that the non-TTK allow. I understand that the TTK style widgets are supposed to be the same as the OS's respective widgets and thus the limitations. let me try a different tack... Do you know can a non-TTK widget, say a button, after its colors have been customized then be altered to have the rounded corners and shadings as the XP button in my case? Thanks, gary --- On Wed, 7/6/11, David Swingle <qwh...@motorola.com> wrote: From: David Swingle <qwh...@motorola.com> Subject: Re: PERL Tkx changing colors To: "gary sachs" <conversecoroll...@yahoo.com> Cc: tcltk@perl.org Date: Wednesday, July 6, 2011, 6:12 PM Not sure of the best way, but the following might help for some widgets. I'm using an old version of Perl (v5.8.8). use strict; use Tkx; Tkx::package_require("tile"); Tkx::package_require("style"); Tkx::package_require("BWidget"); my $dogs = "Akita Bulldog Chihuahua Doberman EnglishFoxhound FoxTerrier"; my $entry_text = "Entry Text"; my $button_text = "Button Text"; my $radio_text = "Radio Text"; my $combo_text = "Combo Text"; my $mw = Tkx::widget->new("."); my $sw = $mw->new_ScrolledWindow(-managed => 0); my $sf = $sw->new_ScrollableFrame(); my $subf = Tkx::widget->new($sf->getframe()); $subf->m_configure(-background => "darkgray"); $sw->setwidget($sf); $sw->g_grid(-row => 0, -column => 0, -sticky => "nsew"); Tkx::grid(rowconfigure => $mw, 0, -weight => 1); Tkx::grid(columnconfigure => $mw, 0, -weight => 1); MakeLabel("ttk__", 1, 1); my $l = $subf->new_label(-width => 10, -background => 'darkgray')->g_grid(-column => 4, -row => 1); MakeLabel("", 1, 5); MakeEntry("ttk__", 2, 1); MakeEntry("", 2, 5); MakeButton("ttk__", 3, 1); MakeButton("", 3, 5); MakeListbox("ttk__", 4, 1); MakeListbox("", 4, 5); MakeRadioButton("ttk__", 5, 1); MakeRadioButton("", 5, 5); MakeComboBox("ttk__", 6, 1); MakeComboBox("", 6, 5); sub MakeLabel { my ($which, $row, $col) = @_; my ($widget); $widget = $subf->new_ttk__label(-text => "Label with ttk__") if $which eq "ttk__"; $widget = $subf->new_label(-text => "plain Label") if $which ne "ttk__"; $widget->configure(-background => 'darkgray'); $widget->g_grid(-column => $col, -row => $row, -sticky => 'w'); my $b = $subf->new_ttk__button(-text => "Color", -command => sub { $widget->configure(-foreground => "yellow", -background => "blue"); }); $b->g_grid(-column => ($col + 2), -row => $row, -sticky => 'w'); } sub MakeEntry { my ($which, $row, $col) = @_; my ($widget); $widget = $subf->new_ttk__entry(-width => 30, -textvariable => \$entry_text) if $which eq "ttk__"; $widget = $subf->new_entry(-width => 30, -textvariable => \$entry_text) if $which ne "ttk__"; $widget->g_grid(-column => $col, -row => $row, -sticky => 'w'); my $b = $subf->new_ttk__button(-text => "Color", -command => sub { $widget->configure(-foreground => "green", -background => "red"); }); $b->g_grid(-column => ($col + 2), -row => $row, -sticky => 'w'); } sub MakeButton { my ($which, $row, $col) = @_; my ($widget); $widget = $subf->new_ttk__button(-text => $button_text, -command => sub { print "command\n"; }) if $which eq "ttk__"; $widget = $subf->new_button(-text => $button_text, -command => sub { print "command\n"; }) if $which ne "ttk__"; $widget->g_grid(-column => $col, -row => $row, -sticky => 'w'); my $b = $subf->new_ttk__button(-text => "Color", -command => sub { $widget->configure(-foreground => "blue", -background => "aquamarine"); $widget->configure(-text => "Changed");}); $b->g_grid(-column => ($col + 2), -row => $row, -sticky => 'w'); } sub MakeListbox { my ($which, $row, $col) = @_; my ($widget); #$widget = $subf->new_ttk__listbox(-width => 30, -listvariable => \$dogs) if $which eq "ttk__"; return if $which eq "ttk__"; $widget = $subf->new_listbox(-width => 30, -listvariable => \$dogs) if $which ne "ttk__"; my $scroll = $subf->new_ttk__scrollbar(-orient => 'vertical', -command => [$widget, 'yview']); $widget->configure(-height => 3); $widget->configure(-yscrollcommand => [$scroll, 'set']); $widget->g_grid(-column => $col, -row => $row, -sticky => 'w'); $scroll->g_grid(-column => $col+1, -row => $row, -sticky => "w"); my $b = $subf->new_ttk__button(-text => "Color", -command => sub { $widget->configure(-foreground => "yellow", -background => "green"); $widget->configure(-selectforeground => "red", -highlightbackground => "#800000"); $widget->itemconfigure(0, -foreground => "blue", -background => "#000080"); #$widget->configure(-highlightforeground => "red", -highlightbackground => "blue"); }); $b->g_grid(-column => ($col + 2), -row => $row, -sticky => 'w'); } sub MakeRadioButton { my ($which, $row, $col) = @_; my ($widget); $widget = $subf->new_ttk__checkbutton(-text => 'Yes', -variable => \$radio_text, -onvalue => 1) if $which eq "ttk__"; $widget = $subf->new_checkbutton(-text => 'Yes', -variable => \$radio_text, -onvalue => 1) if $which ne "ttk__"; $widget->configure(-command => sub { print "command\n"; }); $widget->g_grid(-column => $col, -row => $row, -sticky => 'w'); my $b = $subf->new_ttk__button(-text => "Color", -command => sub { $widget->configure(-foreground => "red", -background => "yellow"); }); $b->g_grid(-column => ($col + 2), -row => $row, -sticky => 'w'); } sub MakeComboBox { my ($which, $row, $col) = @_; my ($widget); $widget = $subf->new_ttk__combobox(-textvariable => \$combo_text) if $which eq "ttk__"; return if $which ne "ttk__"; # $widget = $subf->new_combobox(-textvariable => \$combo_text) if $which ne "ttk__"; $widget->configure(-values => $dogs); $widget->g_bind("<<ComboboxSelected>>", sub { print "combo command\n"; }); $widget->g_grid(-column => $col, -row => $row, -sticky => 'w'); my $b = $subf->new_ttk__button(-text => "Color", -command => sub { $widget->configure(-foreground => "red", -background => "#800000"); }); $b->g_grid(-column => ($col + 2), -row => $row, -sticky => 'w'); } Tkx::MainLoop; Dave On Wed, Jul 6, 2011 at 4:15 PM, gary sachs <conversecoroll...@yahoo.com> wrote: AS Perl V5.12 Tkx (Tcl 8.5.9) Windows XP Is there anyway to alter the background colors of the ttk_entry and ttk_buttons? If so, how? thanks, gary