I'm trying to understand Tk's customization with
optionAdd. I can get it to work on a global level, but not on a more specific level (without undesired side effects). The comments in the code below explain what I'm after and what I get:
use warnings;
use strict;
use Tk;
my $mw = MainWindow->new();
$mw->geometry('200x200');
### Globally, I want the font to be this...
$mw->optionAdd('*font', 'helvr12');
### ...but I want my LabFrame's to be bold.
### This does not make the label for the frame bold, but
### oddly enough the print statement below returns 'helvb12'!
$mw->optionAdd('*LabFrame.font', 'helvb12');
### The line below will make the label for the frame bold, but
### it also changes its child (the Label), which I don't want.
#$mw->optionAdd('*LabFrame*font', 'helvb12');
my $lab_frm = $mw->LabFrame(-label => 'LabFrame Test')->pack;
$lab_frm->Label(-text => 'Label Test')->pack;
print STDERR $lab_frm->optionGet('font', ref $lab_frm), "\n";
MainLoop;
Questions:
- Why does the LabFrame report its font as 'helvb12' when it doesn't appear bold?
- How can I get the LabFrame to appear bold without changing its children?