Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5130[/thread]

Anordnung Label und Entry



<< |< 1 2 3 >| >> 24 Einträge, 3 Seiten
Gast Gast
 2005-11-19 13:23
#45006 #45006
Hallo,

meine Versuche mit TK gehen weiter. Vieles klappt, aber im Augenblick (seit einer Woche) scheitere ich an etwas ganz Banalem:

Wie kann ich die Steuerelemnte Label und Entry in einem Frame wie folgt anordnen:

Name: Entry
Vorname: Entry
Geburtstag: Entry

Es gelingt mir nicht, Label und Entry stehen untereinander.

Weiß jemand Rat? Ist bestimmt ganz leicht!

Viele Grüße
Vom Braunbaer
Dubu
 2005-11-19 14:30
#45007 #45007
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Ich empfehle, im Frame den Geometriemanager grid zu benutzen (statt pack, was du momentan wohl nimmst). Siehe perldoc Tk::grid.
braunbaer
 2005-11-19 19:15
#45008 #45008
User since
2005-03-20
23 Artikel
BenutzerIn
[default_avatar]
Ja, ich benutze pack. An grid habe ich noch nicht gedacht. Das bekomme ich dann schon hin. Danke!

Grüße
Braunbaer
renee
 2005-11-20 04:35
#45009 #45009
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Bei pack() funktioniert es so:
Code: (dl )
1
2
$label->pack(-side => 'left',-anchor => 'w');
$entry->pack(-side => 'left',-anchor => 'w');
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
[E|B]
 2005-11-20 12:30
#45010 #45010
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
@renee

Damit wirst du aber nie einzelnen Elemente nie 100% gerade untereinander gesetzt bekommen.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
ptk
 2005-11-21 10:34
#45011 #45011
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Das geht, wenn man gleichzeitig mit -width arbeitet. Ich würde allerdings auch eher Tk::grid empfehlen.
Matze
 2005-11-22 16:09
#45012 #45012
User since
2005-08-29
222 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich habe da auch mal eine Frage zu Tk::Grid.
Wie kann man angeben das mehrere Spalten von einem Widget belegt werden sollen ?
Oder mehrere Zeilen ?

Oder könnte man eine Darstellung:

|                      Menü                      |
|------------------------------------------------|
|                      Frame                     |
|------------------------------------------------|
|      Frame      |            Frame             |
|                 |------------------------------|
|                 |             Frame            |
|------------------------------------------------|


mit pack erreichen ?
wenn ja, wie ?

MfG. Matze
Mit freundlichen Grüßen: Matze
Strat
 2005-11-22 17:07
#45013 #45013
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
perldoc Tk::grid -> rowspan, column, row, -rowspan

Code: (dl )
1
2
3
$widget1->grid(-column => 0, -row => 0, -rowspan => 2);
$widget2->grid(-column => 1, -row => 0);
$widget3->grid(-column => 1, -row => 1);


mehrere spalten geht einfacher, z.B.
Code: (dl )
$widget1->grid('-', $widget2);
\n\n

<!--EDIT|Strat|1132672120-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Arkhen2
 2005-11-22 17:07
#45014 #45014
User since
2005-03-11
25 Artikel
BenutzerIn
[default_avatar]
Mit -columnspan und -rowspan

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/perl -w
use strict;
use warnings;
use Tk;


my $mw  = MainWindow->new;
my @frames;

$frames[$_] = $mw->Frame( -borderwidth => 2, -relief => 'groove' ) for (0..4);

$frames[0]->grid( -column => 0, -row => 0, -columnspan => 2, -sticky => 'nsew' );
$frames[1]->grid( -column => 0, -row => 1, -rowspan    => 2, -sticky => 'ns' );
$frames[2]->grid( -column => 1, -row => 1 );
$frames[3]->grid( -column => 1, -row => 2 );

$_->Label( -text => 'Frame' )->pack() for( @frames );

MainLoop();
Crian
 2005-11-22 17:52
#45015 #45015
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
| Menü |
|------------------------------------------------|
| Frame 1 |
|------------------------------------------------|
| Frame 2 | Frame 3 |
| |------------------------------|
| | Frame 4 |
|------------------------------------------------|


Mit Pack geht das auch leicht:

Code: (dl )
1
2
3
4
5
6
 ...
my $frame1 = $mw->Frame()->pack(-side => 'top');
my $frame2 = $mw->Frame()->pack(-side => 'left');
my $f_tmp = $mw->Frame()->pack(-side => 'left');
my $frame3 = $f_tmp->Frame()->pack(-side => 'top');
my $frame4 = $f_tmp->Frame()->pack(-side => 'top');
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 3 >| >> 24 Einträge, 3 Seiten



View all threads created 2005-11-19 13:23.