Schrift
[thread]4878[/thread]

Text sparen u. verschachteln



<< >> 8 Einträge, 1 Seite
Froschpopo
 2005-04-01 01:19
#42956 #42956
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
warum geht das nicht:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
my $fenster = MainWindow->new();


my $entry = $fenster->Entry();

my $hallo = $fenster->Label(
-text &
nbsp; => "name: ".$entry->pack(),
-height &nbsp
; => 40,
-width
=> 35
);


$hallo->pack();


MainLoop();

icch möchte gerne das Eingabefeld an einem bestimmten ort positionieren, direkt hinter "name:". Wie geht sowas?
Gibts bei Tk auch irgendwelche Formatmöglichkeiten wie z.B. in HTML die Absatzformate oder unsichtbare Tabellen?
Thorium
 2005-04-01 02:31
#42957 #42957
User since
2003-08-04
232 Artikel
BenutzerIn
[Homepage] [default_avatar]
Es gibt verschiedene Arten um Widgets zu positionieren. Eine der einfachsten ist das Benutzen des Frame-Containers. Das Frame-Widget ist einfach ein Widget welches andere enthalten kann.
Was du oben gemacht hast ist, dass du den Inhalt, also den Rückgabewert von pack hinter den Namen hinzugefügt hast (was logischerweise zu keinem sinnvollen Resultat führt).

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#Frame erstellen
my $entry_frame  = $fenster->Frame();

#Die Widgets sind Ausprägungen des Frame-Objekts!
my $entry_button = $entry_frame->Entry();
my $entry_label  = $entry_frame->Label(
        -text    => "name: ",
        -height  =>       40,
        -width   =>       35,
);

#Mit ein paar pack-optionen kann man die Widgets auch noch positionieren
#und deren Verhalten bestimmen.
$entry_frame ->pack(-side =>  'top', -expand => 1, -fill => 'x');
$entry_label ->pack(-side => 'left');
$entry_button->pack(-side => 'left', -expand => 1, -fill => 'x');

MainLoop();
Per|li|nist der; -en, -en <zu ↑...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.
Froschpopo
 2005-04-01 02:43
#42958 #42958
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
also ist dieses Frame quasi ne Tabelle
Thorium
 2005-04-01 10:52
#42959 #42959
User since
2003-08-04
232 Artikel
BenutzerIn
[Homepage] [default_avatar]
Naja nicht so richtig. Es ist ein Element in welches man andere Elemente hängen kann. Eine Tabelle besteht aus beliebigen Zeilen und Spalten wobei ein Frame nur die Orientations top, bottom, left und right kennt. Zwar kann man in diese Richtungen soviele Widgets legen wie man will, jedoch sind die Möglichkeiten zur Darstellung mit nur einem Frame sehr beschränkt.
Was aber sehr gut geht ist Frames in Frames zu tun. Also z.B im MainWindow 3 Frames für Symbolleiste, Textfeld und Statusleiste und dann in der Symbolleiste wiederum Frames die die Symbole zusammenhalten. Ins Textfeld dann kannst du auch wiederum mehrere Frames stellen die, wie oben gezeigt, zu einem Textfeld auch die Beschriftung enthät u.s.w.
Das Arbeiten mit Frames in grossen Guis ist jedoch relativ mühsam.
Wenn ich mich recht entsinne gibt es aber sowas wie Tabellen in Tk wirklich. (Tk::Table)
Damit kannst du eventuell Widgets in einer Tabelle anordnen. Natürlich kannst du die Tabelle auch in Frames stellen und so zwei Arten Widgets zu positionieren kombinieren...\n\n

<!--EDIT|Thorium|1112338390-->
Per|li|nist der; -en, -en <zu ↑...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.
ptk
 2005-04-01 14:22
#42960 #42960
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wenn man ein tabellarisches Layout will, dann nimmt man am besten grid statt pack.
Froschpopo
 2005-04-01 17:51
#42961 #42961
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
wisst ihr mein problem ist, dass wenn ich tutorials über tk suche, ich meistens immer auf einführungen stoße die die geometriemanager nur anschneiden und pack() beschreiben. Gibts auch was aausführlicheres? sowas wie geheimtipp quasi?
coax
 2005-04-01 19:19
#42962 #42962
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
perldoc Tk
;)
,,Das perlt aber heute wieder...'' -- Dittsche
Crian
 2005-04-04 19:10
#42963 #42963
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Du suchst wahrscheinlich LabEntry -> perldok Tk::LabFrame
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
<< >> 8 Einträge, 1 Seite



View all threads created 2005-04-01 01:19.