Wer für seine Tk::HList Header-Buttons möchte, mit denen auch noch die Größe der Spalten verändert werden kann, der kann dafür Tk::ResizeButton verwenden. Das Widget scheint das Gleiche zu machen, wie Tk::HdrResizeButton.
#!perl
use strict;
use warnings;
use Tk;
use Tk::HList;
use Tk::ResizeButton;
my $mw = MainWindow->new();
# HList erstellen
my $hlist = $mw->Scrolled('HList',
-columns => 2,
-header => 1,
)->pack(
-side => 'left',
-expand => 'yes',
-fill => 'both',
);
# 1. Header-Button erstellen
my $headerstyle = $hlist->ItemStyle(
'window',
-padx => 0,
-pady => 0,
);
my $header0 = $hlist->ResizeButton(
-text => 'Test Name',
-relief => 'flat', -pady => 0,
-command => sub { print "Hello, world!\n";},
-widget => \$hlist,
-column => 0,
);
$hlist->header('create', 0,
-itemtype => 'window',
-widget => $header0,
-style => $headerstyle,
);
# 2. Header-Button erstellen
my $header1 = $hlist->ResizeButton(
-text => 'Status',
-relief => 'flat',
-pady => 0,
-command => sub { print "Hello, world!\n";},
-widget => \$hlist,
-column => 1
);
$hlist->header('create', 1,
-itemtype => 'window',
-widget => $header1,
-style => $headerstyle,
);
$mw->MainLoop;
exit(0);