печать номера строки в текстовом виджете - PullRequest
2 голосов
/ 10 мая 2010

Я использую следующий код для печати номера строки в текстовом виджете:

my $c = 0;
my $r = 0;

$txt = $mw->Text(
    -background          => 'white',
    -width               => 400,
    -height              => 300,
    -selectbackground    => 'skyblue',
    -insertwidth         => 5,
    -borderwidth         => 3,
    -highlightcolor      => 'blue',  # after visit
    -highlightbackground => 'red',   # default before visit
    -xscrollcommand      => sub { print "CHAT NO :", $c++; },
    # Determines the callback used when the Text widget is scrolled horizontally.
    -yscrollcommand      => sub { print "LINR NO:", $r++; },
    # Determines the callback used when the Text widget is scrolled vertically.
    -padx                => 5,
    -pady                => 5,
)->pack();

Приведенный выше код печатает номер строки и номер символа, но при использовании в виджете с прокруткой вывод не печатается. В чем проблема в следующем коде? Как я могу решить это?

$txt = $mw->Scrolled('Text',
    -scrollbars          => 'se',
    -background          =>'white',
    -width               => 400,
    -height              => 300,
    -insertwidth         => 5,
    -borderwidth         =>3,
    -highlightcolor      => 'blue',  # after visit
    -highlightbackground => 'red' ,  # default before visit
    -padx                => 5,
    -pady                => 5,
    # Determines the callback used when the Text widget is scrolled horizontally. 
    -xscrollcommand      => sub { print"CHAT NO :",$c++; },
    # Determines the callback used when the Text widget is scrolled vertically.
    -yscrollcommand      => sub { print"LINR NO :",$r++; },
)->pack();

1 Ответ

3 голосов
/ 10 мая 2010

Мегавиджет Scrolled автоматически создает привязки полосы прокрутки. Он устанавливает привязки -xscrollcommand и -yscrollcommand, которые переопределяют те, которые вы указали при создании виджета. Если вы хотите [ab] использовать команды прокрутки для вывода номеров строк / столбцов, вам придется отказаться от использования Scrolled и самостоятельно создавать полосы прокрутки и привязки.

...