Thread Ausgabe in Tk-GUI (13 answers)
Opened by projectx at 2011-02-21 21:56

pktm
 2011-02-22 19:52
#145866 #145866
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hier mal etwas code:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!perl

use strict;
use warnings;
use Tk;
use Tk::LabEntry;

my $mw = tkinit(-width => 640, -height => 480, -title => 'Programm zur Umrechnung von Clesius in ...');
$mw->packPropagate(0);

my $button_frame = $mw->Frame(-bg => '#259238')->pack(-fill => 'x', -expand => 0,);
my $ergebnis_frame = $mw->Frame(-bg => '#9D2763')->pack(-fill => 'both', -expand => 1,);

my $startwert_entry = $button_frame->LabEntry(-label => 'Startwert: ')->pack(-side => 'left',);
my $endwert_entry = $button_frame->LabEntry(-label => 'Endwert: ')->pack(-side => 'left',);
$button_frame->Button(
-text => 'Ausrechnen...',
-command => sub{
rechnen_und_anzeigen($startwert_entry, $endwert_entry, $ergebnis_frame);
return 1;
},
)->pack(-side => 'left',);



$mw->MainLoop();


=head1 SUBS

=head2 rechnen_und_anzeigen( $startwert_entry, $endwert_entry, $ergebnis_frame )

TODO: Dokumentation

=cut

sub rechnen_und_anzeigen {
my $startwert_entry = shift or die('Missing startwert_entry');
my $endwert_entry = shift or die('Missing endwert_entry');
my $ergebnis_frame = shift or die('Missing ergebnis_frame');

my $startwert = $startwert_entry->get();
my $endwert = $endwert_entry->get();
return if $startwert !~ m/^\d+$/;
return if $endwert !~ m/^\d+$/;

print "TODO: C in F usw. mit $startwert und $endwert\n";

$ergebnis_frame->Label(-text => 'Hallo Ergebnis!')->pack();

} # /rechnen_und_anzeigen


Was da noch zu tun ist:
- begreifen, was im Code passiert (Tipp: sowas kann man prima mit Kommentaren für später festhalten)
- die Sub rechnen_und_anzeigen schreiben
- eine Möglichkeit finden, $ergebnis_frame zu leeren (alte Ergebnisse zu löschen), bevor neue draugemalt werden oder ein anders Widget benutzen (z.B. Text / Spreadsheet)
- das fertige Ergebnis hier reinstellen

Das ist allerdings meine letzte Antwort auf diesen Beitrag, wenn du nicht mit strict arbeitest ;-)
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread Ausgabe in Tk-GUI