Tk::DialogBox ist neben Tk::Dialog ein weiteres Widget für die Anzeige von Dialogen. Der Dialog ist nicht modal, d.h. man kann mit dem anderen Fenster weiterarbeiten, während der Dialog angezeigt wird.
#!perl
=comment
dialog_box.pl
Zeigt einen einfachen Ja/Nein-Dialog.
=cut
use strict;
use warnings;
use Tk;
use Tk::DialogBox;
my $mw = tkinit(-width => 200, -height => 200);
$mw->packPropagate(0);
# Dialog-Widget erstellen
my $d = $mw->DialogBox(
-title => "Problem!",
-buttons => ["Ja", "Nein"],
);
my $w = $d->add('Label', -text => 'Problembeschreibung. Weiter?')->pack();
# Button erstellen, durch den der Dialog angezeigt wird.
$mw->Button(
-text => 'Dialog anzeigen',
-command => sub{
if( my $button = $d->Show() ) {
print "gedrückt: " . $button . "\n";
}
},
)->pack;
$mw->MainLoop();