Использование Perl Tkx, я пытаюсь создать окно с виджетами treeview и панель прокрутки справа от нее. Мне нужен виджет treeview для автоматического изменения размера, когда пользователь изменяет размер окна.Как добиться видоизмененного виджета виджета с полосой прокрутки в Perl Tkx?
Это то, что у меня есть:
my $mw = Tkx::widget->new(".");
my $frm = $mw->new_ttk__frame(-padding => "2 6 12 12");
$frm->g_grid(-column => 0, -row => 0, -sticky => "nwes");
$frm->g_pack(-expand => 1, -fill => 'both');
my $tree = $frm->new_ttk__treeview;
$tree->g_grid(-column => 1, -columnspan => 5, -row => 1, -sticky => "we");
$tree->g_pack(-expand => 1, -fill => 'both');
my $scrollbar = $frm->new_ttk__scrollbar(-orient => 'vertical', -command => [$tree, 'yview']);
$scrollbar->g_grid(-column => 6, -row => 1, -sticky => "we");
$scrollbar->g_pack(-expand => 1, -fill => 'both');
$tree->configure(-yscrollcommand => [$scrollbar, 'set']);
Оба виджеты отображаются в окне, и изменение размера работы, но, к сожалению, полоса прокрутки находится под дерево, а не справа от нее. Если я удалю три строки g_pack(-expand => 1, -fill => 'both')
, позиционирование будет правильным, но изменение размера не будет выполнено. Как разместить полосу прокрутки справа от дерева и выполнить автоматическое изменение размера?
Вы связаны с Tk? Классическим решением является установка как дерева, так и полосы прокрутки в рамке контейнера. Будет ли это работать на вас? – Borodin