> >> The command in your version would be Tkx::style(...), but > note that > >> will need to be corrected when you upgrade Perl to > >> Tkx::ttk__style(...). > >> > >> Jeff > >> > > What goes in the parens? I tried: > > Tkx::style("TEntry", -font => "courier 10"); But I > get an error. > > The following does not generate an error, and it works for > the button, > > but not for the entry: > > Tkx::style_configure("TButton", -font => "courier 10"); > > Tkx::style_configure("TEntry", -font => "courier 10"); > > The latter command style is correct, but for -font, that is a > style element for buttons but remains a regular option for > ttk::entry, so just create the entry with -font. > > Jeff > How does one know that -font is a style element for buttons and not for an entry? If I want to change the font in an entry after it has been created, how do I do that?
I didn't realize that there were differences like this. So, back to my original problem, how do background colors work for an entry? How can I change the color on an individual entry widget? Font and colors for the entry widgets in the following don't change. How do I change them? use strict; use Tkx; Tkx::package_require("tile"); Tkx::package_require("style"); my $mw = Tkx::widget->new("."); my $text1 = "entry widget 1"; my $text2 = "2nd entry widget"; my $entry1 = $mw->new_ttk__entry(-width => 20, -textvariable => \$text1); $entry1->configure(-font => "courier 24", -background => "blue"); $entry1->g_grid(-column => 0, -row => 0, -sticky => 'w'); my $entry2 = $mw->new_ttk__entry(-width => 20, -textvariable => \$text2, -style => "Dss.TEntry", -background => "aquamarine"); $entry2->configure(-font => "helvetica 24 bold"); $entry2->g_grid(-column => 0, -row => 1, -sticky => 'w'); my $button = $mw->new_ttk__button(-text => "Push Me"); $button->configure(-command => sub {exit;}); $button->g_grid(-column => 0, -row => 2); Tkx::style_theme_use("alt"); Tkx::style_configure("TButton", -font => "helvetica 24"); Tkx::style_configure("TEntry", -background => "green", -font => "Courier 10 bold"); Tkx::style_configure("Dss.TEntry", -background => "red", -font => "Courier 10"); Tkx::after(3000, sub { AfterDelay(); }); Tkx::MainLoop(); sub AfterDelay { $text2 = "in AfterDelay"; $button->configure(-text => "Red?"); Tkx::style_configure("TButton", -font => "helvetica 14 bold"); Tkx::style_configure("TButton", -background => "red"); Tkx::style_configure("TEntry", -background => "red"); # does nothing? Tkx::after(3000, sub { AfterDelay2(); }); } sub AfterDelay2 { $text2 = "in AfterDelay2"; $button->configure(-text => "Done"); Tkx::style_configure("TButton", -background => "green"); #Tkx::style_map("TEntry", # -background => ["disabled" => "red", "active" => "blue"], # -foreground => ["disabled" => "yellow", "active" => "green"]); Tkx::style_configure("TEntry", -background => "green"); Tkx::style("TEntry", -background => "green"); Tkx::style("Dss.TEntry", -background => "yellow"); } -- dss