Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: GUI > Tk::Table растаскивание колонок


Автор: Шухарт 8.5.2010, 20:38
Возможно ли сделать в Tk таблицу чтобы e граф можно было менять размер? Какая-то опция в Tk::Table, ли я не туда копаю? 
Up: а сортировку выполнять по столбцам средствами этого пакета возможно? 

Автор: shamber 8.5.2010, 21:56
Шухарт, а чем вас Tk::Grid  не устраивает?

Автор: Шухарт 11.5.2010, 14:46
Признаться не пробовал Grid, на глаза не попался. А судя по описанию на cpan подходит для этой задачи. 
Буду признателен если у вас под рукой окажется доходчивый пример использования или статья толковая!

Автор: shamber 11.5.2010, 15:44
Честно сказать, с Tk не работаю. попробуйте погуглить, если не найдете будем ковыряться.

Автор: Шухарт 11.5.2010, 20:50
Вроде нашёл то что нужно, Tk::MListbox - сортирует столбцы, и позволяет "excel like"-таблицу нарисовать. 
А тут примеры использования, если кому понадобится: http://www.perlmonks.org/?node_id=698106
Спасибо за внимание, shamber. 

Автор: shamber 11.5.2010, 22:02
Шухарт, заходите еще smile

Автор: OutlawZ 12.5.2010, 05:59
Народ а как вы таблицу выводите? у меня что то не получается ее показать на форме:

Код

use Tk;
use Tk::Table;

my ($mw,%wg, );

$mw = MainWindow->new('-title' => "Table");

$wg{'Table1'} = $mw->Table( -rows         => 5,
                                                 -columns      => 5,
                         -scrollbars   => 'oe',
                         -fixedrows    => 5,
                         -fixedcolumns => 5,
                          )->pack();
                          

$wg{'Table1'}->put(5,5,"Table");

MainLoop;


Выводит тока надпись Table и scrollbar, использовал методы see и get но так же не помогло.

Автор: Шухарт 12.5.2010, 15:30
OutlawZ,  так вы и выводите только пятую ячейку пятой строки с тесктом "Table",
попробуйте 
Код

use strict;
use Tk;
use Tk::Table;

my ($mw,%wg, );

$mw = MainWindow->new('-title' => "Table");

$wg{'Table1'} = $mw->Table( -rows         => 5,
                                                 -columns      => 5,
                         -scrollbars   => 'oe',
                         -fixedrows    => 5,
                         -fixedcolumns => 5,
                          )->pack();
                          
for(my $row = 1; $row <=2; $row++)
{

    for(my $col = 1; $col<=5; $col++)
    {
        $wg{'Table1'}->put($row, $col,"row: $row; col: $col");
    }
}
MainLoop;

и всё наглядно увидите  smile 

Автор: OutlawZ 12.5.2010, 16:37
Спасибо, теперь все понятно )

Автор: Шухарт 12.5.2010, 17:58
Рад помочь, OutlawZ. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)