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

Registrierkarte -> Perl/Tk

Leser: 2


<< |< 1 2 >| >> 14 Einträge, 2 Seiten
Styx
 2003-11-20 00:42
#45326 #45326
User since
2003-11-01
16 Artikel
BenutzerIn
[default_avatar]
Wie erstelle ich unter Perl Registrierkarten?

Wie z.B.:
Windows:

Start -> Einstellungen -> Systemsteuerung -> Anzeige!

Das oben, wo man zwischen den einzelnen Cards (Java) hin- und herspringen kann.

Vielen Dank im Voraus,

MfG, Styx
Styx
 2003-11-20 00:45
#45327 #45327
User since
2003-11-01
16 Artikel
BenutzerIn
[default_avatar]
Ich habe hier einen Code (ist in Tk als Bsp. enthalten):

Code:
Code

# Notebook, selectable pages.

use Tk;
use Tk::DialogBox;
use Tk::NoteBook;
use Tk::LabEntry;
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
my $name = "Rajappa Iyer"; 
my $email = "rsi\@netcom.com";
my $os = "Linux";

use vars qw($top);

$top = MainWindow->new;
my $pb = $top->Button(-text => "Notebook", -command => \&donotebook);
$pb->pack;
MainLoop;


my $f;

sub donotebook {
if (not defined $f) {
# The current example uses a DialogBox, but you could just
# as easily not use one... replace the following by
# $n = $top->NoteBook(-ipadx => 6, -ipady => 6);
# Of course, then you'd have to take care of the OK and Cancel
# buttons yourself. :-)
$f = $top->DialogBox(-title => "Personal Profile",
-buttons => ["OK", "Cancel"]);
my $n = $f->add('NoteBook', -ipadx => 6, -ipady => 6);

my $address_p = $n->add("address", -label => "Address", -underline => 0);
my $pref_p = $n->add("pref", -label => "Preferences", -underline => 0);

$address_p->LabEntry(-label => "Name: ",
-labelPack => [-side => "left", -anchor => "w"],
-width => 20,
-textvariable => \$name)->pack(-side => "top", -anchor => "nw");
$address_p->LabEntry(-label => "Email Address:",
-labelPack => [-side => "left", -anchor => "w"],
-width => 50,
-textvariable => \$email)->pack(-side => "top", -anchor => "nw");
$pref_p->LabEntry(-label => "Operating System:",
-labelPack => [-side => "left"],
-width => 15,
-textvariable => \$os)->pack(-side => "top", -anchor => "nw");
$n->pack(-expand => "yes",
-fill => "both",
-padx => 5, -pady => 5,
-side => "top");

}
my $result = $f->Show;
if ($result =~ /OK/) {
print "name = $name, email = $email, os = $os\n";
}
}





Ich werde daraus nciht wirklich schlau...

MfG, Styx
coax
 2003-11-20 01:41
#45328 #45328
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
so kompliziert wie das Beispiel es darstellt ist es nicht.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl

use Tk;
use Tk::NoteBook;

my $mw = new MainWindow;

my $nb = $mw->NoteBook()->pack();

my $page1 = $nb->add('PageID-1', -label => 'ReiterEins');
my $page2 = $nb->add('PageID-2', -label => 'ReiterZwei');
$page1->Label(-text => 'In Seite 1')->pack();
$page2->Label(-text => 'In Seite 2')->pack();

MainLoop();

PageID-1 und PageID-2 sind die IDs ueber die die Seite vom Notebook (intern) angesprochen werden, der visuelle Name wird durch -label angegeben.
Ich sammel die Seiten gerne in einen Hash dann laesst sich wesentlich einfacher darauf zugreifen.
,,Das perlt aber heute wieder...'' -- Dittsche
Styx
 2003-11-20 14:41
#45329 #45329
User since
2003-11-01
16 Artikel
BenutzerIn
[default_avatar]
Ach so, wenn wir schon bei Tk sind, haette ich da noch ne Frage, gibts in Perl/Tk ne Funktion zum festlegen der Fenstergröße?
Unter Java:

setSize(int,int);
oder
setBounds(int,int,int,int);

Vielen Dank!

MfG, Styx
coax
 2003-11-20 14:55
#45330 #45330
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
Hi,

du kannst die Groesse beim erzeugen festlegen
Code: (dl )
1
2
my $mw = MainWindow->new(-width  => 200,
                         -height => 400);

oder geometry nachtraeglich aendern.
Code: (dl )
$toplevel->geometry('200x400');

mit der gleichen Funktion laesst sich auch die Position bestimmen.
Code: (dl )
1
2
$toplevel->geometry('+100+200');
$toplevel->geometry('200x400+100+200');
,,Das perlt aber heute wieder...'' -- Dittsche
Styx
 2003-11-20 15:13
#45331 #45331
User since
2003-11-01
16 Artikel
BenutzerIn
[default_avatar]
Ich bedanke mich bei dir, für deine SEHR GUTE Hilfe!

MfG, Styx
Styx
 2003-11-20 21:23
#45332 #45332
User since
2003-11-01
16 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl -w

#init prog
use Tk;
use Tk::NoteBook;
$ENV{HOME} = "C:\\"; #define to request warnings in Tk.pm


my $mw = MainWindow -> new( -width => 800,
-height => 600);

my $nb = $mw->NoteBook() -> pack();

my $cardCustomer = $nb->add('data', -label => 'Kundendaten');
my $cardEmail = $nb->add('email', -label => 'Emailversand');
my $cardPost = $nb->add('post', -label => 'Postaufkleber');

$cardCustomer -> Label(-text => 'In Seite 1')->pack();
$cardEmail -> Label(-text => 'In Seite 2')->pack();
$cardPost -> Label(-text => 'In Seite 3')->pack();

MainLoop();


Hm, es klappt nicht!
Das Fenster bleibt immer noch so groß, wie viel Platz die Widgets benötigen,
sprich: VIEL zu klein ;)

MfG, Styx
Styx
 2003-11-20 21:25
#45333 #45333
User since
2003-11-01
16 Artikel
BenutzerIn
[default_avatar]
Ach so, beim benutzen von
geometry gibt der Interpreter permanent Fehlermeldungen aus!

MfG, Styx
coax
 2003-11-21 21:45
#45334 #45334
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=Styx,20.11.2003, 14:13]Ich bedanke mich bei dir, für deine SEHR GUTE Hilfe!

MfG, Styx[/quote]
nichts zu danken :)

Quote
Hm, es klappt nicht!
Das Fenster bleibt immer noch so groß, wie viel Platz die Widgets benötigen,

hm, das Problem hatte ich auch mal, weiss nicht mehr wie ich das genau geloest habe, glaube mit update().
Die geometry-Methode sollte aber funktionieren:
Code: (dl )
1
2
my $mw = new MainWindow;
$mw->geometry('800x600');


Quote
Ach so, beim benutzen von
geometry gibt der Interpreter permanent Fehlermeldungen aus!

wie lautet die denn ?
,,Das perlt aber heute wieder...'' -- Dittsche
esskar
 2003-11-21 21:49
#45335 #45335
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Styx,20.11.2003, 14:13]Ich bedanke mich bei dir, für deine SEHR GUTE Hilfe!

MfG, Styx[/quote]
wir sind ja hier auch nicht auf perl.de! :)
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2003-11-20 00:42.