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
package Fotocut; use strict; use warnings; use Tk; use Tk::Canvas; use Image::Magick; use Win32::FileOp; use Win32::GUI(); use Win32::Capture; use MIME::Base64; use Tk::Balloon; use Tk::JPEG; use Tk::PNG; my ($mw, $canvas); sub new { $mw = MainWindow->new(); ... MainLoop; } sub SelectFile { ... } 1;
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!perl
package Editform;
use strict;
use warnings;
use Tk;
sub new {
my $class = shift;
my $parent = shift;
my $self = bless({}, $class);
$self->{'__PARENT'} = $parent;
return $self;
} # /new
sub display {
my $self = shift;
my $parent = $self->{'__PARENT'};
my $tl = $parent->Toplevel(-width => 200, -height => 200, -bg => 'blue',);
return;
} # /display
1;
package Userimages;
use strict;
use warnings;
use Tk;
sub new {
my $class = shift;
my $parent = shift;
my $self = bless({}, $class);
$self->{'__PARENT'} = $parent;
return $self;
} # /new
sub display {
my $self = shift;
my $parent = $self->{'__PARENT'};
my $tl = $parent->Toplevel(-width => 200, -height => 200, -bg => 'yellow',);
return;
} # /display
1;
package main;
use strict;
use warnings;
use Tk;
my $mw = tkinit();
$mw->Button(
-text => 'dialog1',
-command => sub{
my $form = Editform->new($mw);
$form->display();
},
)->pack();
$mw->Button(
-text => 'Userimages',
-command => sub{
my $form = Userimages->new($mw);
$form->display();
},
)->pack();
$mw->MainLoop();
QuoteDas führt dazu, dass der Nutzer nochmal klickt und das Programm zweimal ausführt.