Thread hilfe beim erstellen (5 answers)
Opened by kale_1990 at 2007-01-13 15:03

PerlProfi
 2007-01-13 19:14
#46122 #46122
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
@kale_1990 so, wie du es darstellst, könntest du mit LabEntry() arbeiten.
Allerdings wären dann die Eingabefelder nicht genau untereinander, sondern, so wie du geschrieben hast, direkt hinter dem jeweiligen Label.

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
#!/usr/bin/perl
use strict;
use warnings 'all';
use Tk;
use Tk::LabEntry;

# Frame erstellen(hier MainWindow als Frame Ersatz)
my $mw = tkinit();

# erstellen der (Text-)Eintragsfelder
my($dbhost, $user, $passwd) = ("","","");

$mw -> LabEntry ( -label => "Datenbankhost: " ,
-labelPack => [ -side => "left" ] ,
-textvariable => \$dbhost ,
-background => "white" )
-> pack ( -anchor => "w" );
$mw -> LabEntry ( -label => "User: " ,
-labelPack => [ -side => "left" ] ,
-textvariable => \$user ,
-background => "white" )
-> pack ( -anchor => "w" );
$mw -> LabEntry ( -label => "Passwort: " ,
-labelPack => [ -side => "left" ] ,
-textvariable => \$passwd ,
-background => "white" )
-> pack ( -anchor => "w" );

# verbinden button erstellen
$mw -> Button ( -text => "Verbinden" ,
-command => sub { print("DBHost: $dbhost\nUser: $user\nPassword: $passwd\n") } )
-> pack ( );

MainLoop;

Ich würde dir allerdings zu grid() raten und die Labels und Entrys seperat gridden. Meiner Meinung nach sieht es dann schöner aus.

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
#!/usr/bin/perl
use strict;
use warnings 'all';
use Tk;
use Tk::LabEntry;

# Frame erstellen(hier MainWindow als Frame Ersatz)
my $mw = tkinit();

# erstellen der (Text-)Eintragsfelder
my($dbhost, $user, $passwd) = ("","","");

my $i = 0;
foreach (["Datenbankhost: ", \$dbhost],
["User: ", \$user],
["Passwort: ", \$passwd])
{
$mw -> Label ( -text => $_->[0] ,
-anchor => "w" )
-> grid ( -row => $i ,
-column => 0 ,
-sticky => "ew" );
$mw -> Entry ( -textvariable => $_->[1] ,
-background => "white" )
-> grid ( -row => $i++ ,
-column => 1 );
}

# erstellen des verbinden buttons
$mw -> Button ( -text => "Verbinden" ,
-command => sub { print("DBHost: $dbhost\nUser: $user\nPassword: $passwd\n") } )
-> grid ( -row => $i ,
-column => 0 ,
-columnspan => 2 ,
-ipadx => 15 ,
-pady => 2 );

MainLoop;


MfG PerlProfi\n\n

<!--EDIT|PerlProfi|1168709251-->

View full thread hilfe beim erstellen