Schrift
[thread]5277[/thread]

tk::help scrollbar problem: die scrollbar verändert ihre größe



<< >> 6 Einträge, 1 Seite
PerlProfi
 2007-01-06 12:06
#46072 #46072
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Ich benutze Tk::Help um eine Hilfe über das Programm anzuzeigen, wenn ein Hilfethema etwas länger wird, werden scrollbars zum text widget hinzugefügt.

Leider muss man beim ersten auftreten von scrollbars auf dem textwidget, diese erst aktivieren, indem man mit dem scrollrad scrollt, vorher kann man sie nicht benutzen.

Und ausserdem verändern sie während des scrollens Ihre Größe!

Ich würde gerne wissen, wieso und wie ich das verändern kann.

Gibt es vielleicht eine gute Alternative zu Tk::Help??
Vielleicht Tk::Pod, hat damit jemand Erfahrung?

Oder muss ich da gar nicht in der Quelle von Tk::Help rumfummeln und es ist ganz einfach das Problem zu lösen?

MfG PerlProfi
renee
 2007-01-06 13:36
#46073 #46073
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hast Du mal etwas Code?
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/
PerlProfi
 2007-01-06 13:59
#46074 #46074
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Natürlich:
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
#!/usr/bin/perl
use strict;
use warnings 'all';
use Tk;
use Tk::Help;

# create help array
my $helparray =
[
[
{
-title => "Test1",
-header => "Ohne Scrollbar",
-text => "Test",
},
],
[
{
-title => "Test2",
-header => "Mit Scrollbar",
-text => "\n"x10 . "a"x400 . "\n"x20 . "H"x100 . "\n"x10 . "Scrollbar Test",
},
],
];

# create mainwindow
my $mw = tkinit();

# create Help button
$mw->Button(-text => "Hilfe",
-command =>
sub
{
$mw->Help(-icon => undef,
-title => "Hilfe",
-variable => $helparray,
-listbackground => "white",
-listwidth => 20,
-detailswidth => 60,
-listborderwidth => 2);
})->pack;

# start eventloop
MainLoop;

__END__

Sobald man auf Test2 im Tk::Tree klickt, wird rechts im Textwidget eine scrollbar angezeigt, allerdings mit Status disabled.

Scrollt man jetzt mit dem Scrollrad aktiviert sich die Scrollbar.

Man kann deutlich erkennen wie sich die Größe der Scrollbar verändert, wenn man langsam nach unten scrollt.

Ich vermute, dass die Größenveränderung mit dem wrap vom Textwidget zusammenhängt.
Trotzdem weiß ich nicht, wie man das verbessern könnte ohne den wrap zu verändern.

MfG PerlProfi
ptk
 2007-01-07 02:07
#46075 #46075
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Das ist ein altbekanntes Windows+Tk-Problem. Ich kenne keinen Workaround. Möglicherweise wurde dieser Bug schon in Tcl/Tk 8.5 gefixt, dann wird es in den nächsten Monaten/Jahren auch bei Perl/Tk gelöst sein.
PerlProfi
 2007-01-07 10:59
#46076 #46076
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Das Problem liegt also nicht bei Tk::Help?
Also kann ich mich darauf verlassen, dass ich die gleichen Schwierigkeiten mit Tk::Pod bekommen werde?

MfG PerlProfi
ptk
 2007-01-07 11:34
#46077 #46077
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ja. Mit jedem Widget, das Scrolled() verwendet.
<< >> 6 Einträge, 1 Seite



View all threads created 2007-01-06 12:06.