http://qs321.pair.com?node_id=1227009


in reply to How Can My Perl/Tk Program use a Defined Font for All Widgets?

Hi, you can also try Tk::FontDialog and the RefontTree method.
#!/usr/bin/perl use warnings; use strict; use Tk; use Tk::FontDialog; my $top=new MainWindow; my $font; my $fd; my $b = $top->Button(-text => 'Choose Font', -command => sub { $font = $fd->Show; apply_font($font); })->pack; my $f = $top->Frame->pack; $f->Label(-text => 'Test RefontTree 1')->pack; my $f2 = $f->Frame->pack; $f2->Label(-text => 'Test RefontTree 2')->pack; my $c = $f2->Canvas(-width => 100, -height => 30)->pack; $c->createText(0,0,-anchor => 'nw', -text => 'Canvas Text'); $fd = $top->FontDialog(-nicefont => 0, -title => 'Select Font', -applycmd => \&apply_font, -familylabel => 'Schrift~familie', -fixedfontsbutton => 1, -nicefontsbutton => 1, ); my $bf = $top->Frame->pack; $bf->Button(-text => 'OK', -command => sub { print "ok\n"; $top->destroy;})->pack(-side => 'left'); MainLoop; sub apply_font { my $font = shift; if (defined $font) { $b->configure(-font => $font); $f->RefontTree(-font => $font, -canvas => 1); } }

I'm not really a human, but I play one on earth. ..... an animated JAPH
  • Comment on Re: How Can My Perl/Tk Program use a Defined Font for All Widgets?
  • Download Code