Tk::FlatCheckbox ist eine Alternative zu Tk::Checkbutton (das Widget, das so aussieht, wie eine HTML-Checkbox). Ob eine Tk::FlatCheckbox aktiviert ist oder nicht, wird nicht durch einen kleinen Haken dargestellt, sondern durch einen Farbindikator in der unteren rechten Ecke. Auf den Screenshots ist das schön zu sehen. Zum Vergleich ist dort ebenfalls der Checkbutton zu sehen (jeweils in beiden Zuständen, aktiviert und nicht aktiviert).
#!perl
use strict;
use warnings;
use Tk;
use Tk::FlatCheckbox;
=comment
Dieses Perl-Skript zeigt eine flache Checkbox in den beiden
möglichen Zuständen aktiviert und nicht aktiviert.
=cut
my $mw = Tk::MainWindow->new(-title => 'Tk::FlatCheckbox Demo');
# Maße des Fensters nicht automatisch ändern,
# wenn ein Widget mit pack() hinzugefügt wird
$mw->packPropagate(0);
my $status = 1;
$mw->FlatCheckbox(
-text => 'Ceckbox-Option, aktiviert',
-raiseonenter => 1,
-variable => \$status,
)->pack();
$mw->FlatCheckbox(
-text => 'Checkbox-Option, nicht aktiviert',
-raiseonenter => 1,
)->pack();
$mw->MainLoop();
#!perl
use strict;
use warnings;
use Tk;
use Tk::FlatCheckbox;
=comment
Dieses Perl-Skript erzeugt eine flache Checkbox.
Zum Vergleich wird der normale Checkbutton dargestellt.
=cut
my $mw = Tk::MainWindow->new(-title => 'Tk::FlatCheckbox Demo');
# Maße des Fensters nicht automatisch ändern,
# wenn ein Widget mit pack() hinzugefügt wird
$mw->packPropagate(0);
# in dieser Variable wird der Wert der Checkbox gespeichert.
my $status = undef;
$mw->FlatCheckbox(
-text => 'Text, der angezeigt werden soll',
-raiseonenter => 1,
-onvalue => 'Die Checkbox ist aktiviert (default: 1)',
-offvalue => 'Die Checkbox ist nicht aktiviert (default: 0)',
-variable => \$status,
)->pack();
# Hier wird der gespeicherte Wert angezeigt.
$mw->Label(
-textvariable => \$status,
-fg => 'blue',
)->pack();
# Zum Vergleich: so sieht der normale Checkbutton aus.
# In HTML nennt sich das auch Checkbox.
$mw->Label(
-text => "\nSo sieht die normale Checkbox aus:"
)->pack();
$mw->Checkbutton(
-text => 'Dies ist eine Checkbox',
-onvalue => 'Die Checkbox ist aktiviert (default: 1)',
-offvalue => 'Die Checkbox ist nicht aktiviert (default: 0)',
-variable => \$status,
)->pack();
$mw->MainLoop();