in reply to Tk::Text scrollbar resize problem

The reason the scrollbars 'go crazy' is that you have created one enormously long line. When you add lines and scroll through them, the scrollbars change size accoring to the fraction of lines shown in the window. At the top, you are only showing a part of one line. But in the blank line areas, you are showing many.

To get a better behaved scrollbar, split your input into lines:

use strict; use Tk; my $mw = MainWindow->new(); my $t = $mw->Scrolled('Text',-scrollbars=>'e',-wrap=>"word")->pack; $t->insert("end"," this is a test\n" x 4000); MainLoop;

-Mark

Replies are listed 'Best First'.
Re^2: Tk::Text scrollbar resize problem
by ldln (Pilgrim) on Oct 20, 2004 at 19:29 UTC
    Thanks for reply.

    Yes, I use a long line in the example to illustrate the problem. In my app I have several long lines, with variable lenghts, that are inserted into the text widget. When I scroll up and down the scrollbar resizes itself, going from small to big, back and forth.. It doesn't look very nice at all :/.. If I start splitting the text I loose the orginal formatting of the text, which will cause problems cos I copy the text from another widget and display it in a small toplevel "popup window" with a text widget - which is then going to be edited and inserted back into the orginal widget when the toplevel window closes.

    It's a damn shame the scrollbars behave like this.. Can't see the logic in why they should resize themselves according to the fraction of lines shown..

    Well, It's normal procedure again I guess. 30 minutes to get the basic Tk functionality up and running, then 3 days to work around all the anomalies :(