Я столкнулся с ошибкой, я верю в Perl / Tk 804.027 Text Widget (с использованием Scrollable('ROText')
).
Когда я добавляю тег, который выбирает все и применяет изменение конфигурации для выравнивания вправо, полосы прокрутки не отображаются. Если я закомментирую tagConfigure, где я выравниваю вправо, полосы прокрутки возвращаются.
Есть ли у кого-нибудь обходное решение или исправление, позволяющее правильно выравнивать содержимое текстового виджета (включая текстовые и встроенные виджеты ввода), и при этом иметь функциональные горизонтальные полосы прокрутки?
(Update)
Вот пример сценария, который будет воспроизводить проблему:
use Tk;
$mw = MainWindow->new;
$mw->title("Testing");
$mw->geometry();
$pw = $mw->Scrolled('Panedwindow',-showhandle=>0, -sashwidth=>0, -sashpad=>0, -scrollbars=>'e');
$pw->pack(qw/-side top -expand yes -fill both -pady 2 -padx 2m/);
$t1 = $pw->Scrolled("Text", -scrollbars => 'os', -bg=>"red", -width => 40, -wrap => "none", -relief=>"flat");
$t2 = $pw->Scrolled("Text", -scrollbars => 'os', -bg=>"blue", -width => 20, -wrap => "none", -relief=>"flat");
$pw->add($t1,$t2);
# this loop is only to demonstrate the second problem: vertical scrolling
# on parent widget not working
foreach my $ct (1..50) {
$t1->insert("end","abcdef-abcdef-abcdef-abcdef-abcdef-abcdef-abcdef-abcdef-abcdef-abcdef\n");
}
$t1->tagAdd("content", '1.0', 'end');
# this is the justify right & loose horizontal scrolling problem:
# change the justify from left to right and the scrollbars will not show up
$t1->tagConfigure("content", -justify=>"left");
MainLoop;
Проблема, с которой я столкнулся, действительно двойственная для моего приложения, и продемонстрировано, что обе не работают в приведенном выше примере:
- Мне нужна левая сторона панели
с горизонтальной прокруткой и вправо
оправдано
- Мне нужно застекленное окно
виджет (родитель двух панелей)
быть с вертикальной прокруткой (оба
левая и правая панели прокручиваются вместе
вместе).