Das Eingabefeld Tk::Entry

In der Perl/Tk-Distribution enthalten ist Tk::Entry für Eingabefelder. Entrys entsprechen in etwa dem HTML-Element <input>, sind aber etwas mächtiger.

Eine Variable kann mittels der Option -textvariable an das Entry gekoppelt werden. Verändert sich der Wert, wird die Anzeige auf der GUI aktualisiert. Andersherum genauso: wird in der GUI etwas im Entry geschrieben, enthält die Variable diesen Wert.

#!perl

use strict;
use warnings;
use Tk;

my $mw = MainWindow->new();

my $entry = $mw->Entry()->pack();

my $button = $mw->Button(
	-text => 'Print entry value',
	-command => sub{
		my $entry_value = $entry->get();
		printf("Entry value: '%s'\n", $entry_value);
	},
)->pack();

$mw->MainLoop();
exit(0);

#!perl

use strict;
use warnings;
use utf8;
use Tk;

# Creates an entry that you can type in. 
# focus puts the cursor in the entry,
# and the button clears it

my $mw = tkinit();

my $name = 'bound to entry';

my $label = $mw->Label(
	-text => 'Enter:',
)->grid(
	-row => 0,
	-column => 0,
);

my $entry = $mw->Entry(
	-textvariable => \$name
)->grid(
	-row => 0,
	-column => 1,
);

my $button = $mw->Button(
	-text => 'Clear',
	-command => sub{
		$name = '';
	},
)->grid(
	-row => 2,
	-column => 0,
	-columnspan => 2,
);

$mw->MainLoop();
Top