Schrift
[thread]4872[/thread]

Keine Scrollbar zu sehen, warum -Vorsicht Anfänger



<< >> 5 Einträge, 1 Seite
Schnaps
 2005-03-17 14:22
#42930 #42930
User since
2005-03-16
7 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

ich spiele gerade mit perl/Tk rum und würde mich gerne etwas einarbeiten.

Ich habe nun in einer Oberfläche einen Bereich der einen Scrollbalken haben soll wenn er "überläuft".

Hab dazu auch vieles gefunden im Internet aber ich verstehe einfach nicht warum bei mir kein Scrollbalken zu sehen ist.

Hier mal der komplette Code (Das Programm hat noch nicht wirklich eine Funktion, ist halt alles um die Sache besser zu vestehen)


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
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!/usr/bin/perl
use strict;
use warnings;

use Tk;
use Tk::Pane;

# Zuerst wieder ein Hauptfenster und zwei Frames:
my $mw = MainWindow->new(-title => "CheBa 0.001 beta");
my $frame = $mw->Frame(-height =>500,
-width =>600,
);
my $frame2 = $mw->Frame();

my $eingabe="";

# Menubuttons
my $m_file = $frame2->Button(-text => "Datei holen",
-underline => 0,

-command => [\&get, "get"],
);
my $m_opti = $frame2->Button(-text => "Alte Datei",
-underline => 0,

-command => [\&show, "show"],
);
my $m_help = $frame2->Button(-text => "Hilfe",
-underline => 0,

-command => [\&help, "help"],
);
####################################
####################################
### Hier beginnt das Drama : )
####################################
####################################
my $pane = $frame->Scrolled("Label",
-scrollbars => 'oe',
-textvariable => \$eingabe,
-height => 20,
-width =>50,
-anchor => 'nw',
-background => "yellow",
-relief => "ridge",
-borderwidth => 2,
-padx => '2m',
-pady => '2m',
);

# Jetzt packen wir wieder alles zusammen:
$m_file->pack(-side => 'left',
-expand => 0,
-fill => 'x',
);
$m_opti->pack(-side => 'left',
-expand => 0,
-fill => 'none',
);
$m_help->pack(-side => 'left',
-expand => 0,
-fill => 'none',
);
$frame2->pack(-side => 'top',
-expand => 0,
-fill => 'x',

);

$pane->pack(-side => 'top',);

$frame-> pack(-side => 'top',
-expand => 1,
-fill => 'both',
);

# Der Exit Button:
my $fbut = $mw->Frame()->pack();
my $bxit = $fbut->Button(-text => 'Exit',
-command => [$mw => 'destroy'],
)
->pack(-side => 'left',
-expand => 0,
-fill => 'none',
);

MainLoop();


sub get {
} # sub file


sub show {

open(ACCESION_START, "</home/Sebastian/bioinf/scripte/bioperl/accessions_start") || die "konnte accessions_start Liste nicht öffnen\n";

while(<ACCESION_START>){
my $new_acc=substr($_,0,9);

$eingabe.=$new_acc."\n";


}



} # sub file


sub help {

$eingabe="Mit diesem Tool wird die\n....";

} # sub file
ptk
 2005-03-17 18:01
#42931 #42931
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ich habe noch nie einen Scrolled(Label) gesehen --- moeglicherweise geht das auch gar nicht. Alternativ koenntest du einen Scrolled(Pane) verwenden und das Label dort einbetten.
Schnaps
 2005-03-18 10:39
#42932 #42932
User since
2005-03-16
7 Artikel
BenutzerIn
[default_avatar]
Also du meinst folgende Zeile

Code: (dl )
1
2
...my $pane = $frame->Scrolled("Label", 
-scrollbars => 'oe',....


durch
Code: (dl )
1
2
...my $pane = $frame->Scrolled("Pane", 
-scrollbars => 'oe', ...


ersetzen?

oder müßte noch mehr geschehen?
Schnaps
 2005-03-18 10:46
#42933 #42933
User since
2005-03-16
7 Artikel
BenutzerIn
[default_avatar]
Hab jetzt noch mal weiter mit dem Pane Ding getestet, aber das will nicht.
Hab das in den Anleitungen so verstanden, das ich das Pane Teil genau wie ein Label benutzen kann, aber ich bekomme immer eine Fehlermeldung:


Quote
Can't set -textvariable to `SCALAR(0x82b6d34)' for Tk::Pane=HASH(0x8408b74): Can't set -textvariable to `SCALAR(0x82b6d34)' for Tk::Frame=HASH(0x8427928): Bad option `-textvariable' at /usr/lib/perl5/vendor_perl/5.8.5/i586-linux-thread-multi/Tk/Configure.pm line 46.



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
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#!/usr/bin/perl
use strict;
use warnings;

use Tk;
use Tk::Pane;

# Zuerst wieder ein Hauptfenster und zwei Frames:
my $mw = MainWindow->new(-title => "CheBa 0.001 beta");
$mw -> resizable ('0','0'); # verhindert das 'Groesserziehen'
$mw -> geometry ('+20+20');


my $frame = $mw->Frame(-height =>500,
-width =>600,
);
my $frame2 = $mw->Frame();

my $eingabe="";

# Menubuttons
my $m_file = $frame2->Button(-text => "Datei holen",
-underline => 0,

-command => [\&get, "get"],
);
my $m_opti = $frame2->Button(-text => "Alte Datei",
-underline => 0,

-command => [\&show, "show"],
);
my $m_help = $frame2->Button(-text => "Hilfe",
-underline => 0,

-command => [\&help, "help"],
);


# Jetzt packen wir wieder alles zusammen:
$m_file->pack(-side => 'left',
-expand => 0,
-fill => 'x',
);
$m_opti->pack(-side => 'left',
-expand => 0,
-fill => 'none',
);
$m_help->pack(-side => 'left',
-expand => 0,
-fill => 'none',
);
$frame2->pack(-side => 'top',
-expand => 0,
-fill => 'x',

);

my $scrlist = $frame->Scrolled("Pane",

-textvariable => \$eingabe,

-height=>15,

-width =>45,

-scrollbars=>'e');
$scrlist->pack;


my $help_text = $frame->Scrolled("Pane",

-textvariable => \$eingabe,

-height=>15,

-width =>45,

-scrollbars=>'e');
$help_text->pack;



$frame-> pack(-side => 'top',
-expand => 1,
-fill => 'both',
);



# Der Exit Button:
my $fbut = $mw->Frame()->pack();
my $bxit = $fbut->Button(-text => 'Exit',
-command => [$mw => 'destroy'],
)
->pack(-side => 'left',
-expand => 0,
-fill => 'none',
);

MainLoop();


sub get {
} # sub file


sub show {


open(ACCESION_START, "</home/Sebastian/bioinf/scripte/bioperl/accessions_start") || die "konnte accessions_start Liste nicht öffnen\n";


while(<ACCESION_START>){
#my $new_acc=substr($_,0,9);

#$eingabe.=$_."\n";
$eingabe.=$_."\n";




}




} # sub file


sub help {



$eingabe="Mit diesem Tool wird die\n....";

} # sub file
ptk
 2005-03-18 11:33
#42934 #42934
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Nein, Pane ist ein scrollbares Frame. Du musst ein Label innerhalb des Panes erzeugen.
<< >> 5 Einträge, 1 Seite



View all threads created 2005-03-17 14:22.