2014-03-19 53 views
1

我編寫簡單的Perl/Tk應用程序,我需要將二維數組看作一個網格,例如Delphi的StringGrid。但是我找不到類似於StringGrid的Tk部件。有沒有類似的部件?Perl/Tk的StringGrid模擬

+0

是的,這不是我所需要的。 – michaeluskov

回答

2

是的,有一個類似StringGrid的部分。有2個模塊可以用於此目的。 Number 1Number 2。我認爲Nr1是你正在尋找的。

下面是一個簡單的使用的一個簡單的例子:

use strict; 
use warnings; 
use Tk; 
use Tk::TableMatrix::Spreadsheet; 
my $mw = Tk::MainWindow->new(-width => 380, -height => 400,); 
$mw->packPropagate(0); 
my %table =(); 
my $t = $mw->Scrolled(
    'Spreadsheet', 
    -cols => 4, 
    -rows => 500, 
    -width => 4, 
    -titlerows => 1, 
    -titlecols => 0, 
    -variable => \%table, 
    -selectmode => 'extended', 
    -titlerows => 1, 
    -titlecols => 1, 
    -bg => 'white', 
    -bg    => 'white', 
    -scrollbars => 'se', 
); 
my $l = $t->Label(-text => 'text',); 
$t->set('1,2', "Name"); 
for(my $c = 0; $c < 500; $c++) { 
    $t->set("$c,0", $c); 
    $t->set("$c,1", $c*100); 
    $t->set("$c,2", $c^17); 
    $t->set("$c,3", $c/5); 
} 
$t->pack(-fill => 'both', -expand => 1); 
$mw->MainLoop(); 
+0

我可以阻止並允許更改單元格的值嗎?我可以更改列數和行數嗎?我在文檔中找不到它,它很差。據我所知,並不是我所知道的 – michaeluskov

+0

。 – 2014-03-20 08:09:16