TK를 사용하여 다른 이동도 스크롤 할 때 스크롤바가있는 텍스트 영역을 만들 수 있습니까?두 개의 텍스트 영역을 동시에 스크롤 할 때 스크롤바로 두 개의 Perl/TK 텍스트 영역을 만들 수 있습니까?
내가 만들고자하는 것은 텍스트가있는 텍스트 영역과 그 다음 텍스트 행 아래의 텍스트 영역과 다른 쪽의 데이터입니다. 일종의 Excel에서 창을 고정 할 때처럼. 각 행에 대한 배열 집합에 데이터가 있으므로 각 텍스트 영역의 스크롤 막대를 연결하는 방법이 필요하므로 데이터의 위 아래 행이 행 머리글을 제어하고 왼쪽은 왼쪽 행을 제어합니다. 오른쪽 데이터 중 하나가 열 제목을 제어하고 반대의 경우도 마찬가지입니다.
아마 불가능하지만 난 몇 가지 코드를 가지고와 거의 내가 원하는 것을하지만 난 완전히 작동하도록 점점 도움이 필요하므로
편집
확인을 물어 다치게하지 않습니다. 이 코드 예제는 한 스크롤바를 움직이면 실제로 다른 텍스트 영역을 제어하고 그 반대의 경우에도 텍스트 영역을 제어하지 않는다는 것을 보여줍니다. 여러 개의 xview를 명령에 추가하여 두 텍스트 영역을 동일하게 시각. 미리 감사드립니다.
use Tk;
use Tk::ROText;
my @headers = ("+----------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+",
"| | M | M | M | M | M | M | M | M | M | M | M | M | M | M |",
"| | P | P | P | P | P | P | P | P | P | P | P | P | P | P |",
"| | L | L | L | L | L | L | L | L | L | L | L | L | L | L |",
"| | R | R | R | R | R | R | R | R | R | R | R | R | R | R |",
"| | D | D | D | D | D | D | D | D | D | D | D | D | D | D |",
"| | F | F | F | F | F | F | F | F | F | F | F | F | F | F |",
"| | D | D | D | D | D | D | D | D | D | D | D | D | D | D |",
"| | S | S | S | S | S | E | E | E | E | E | E | B | B | B |",
"| | O | O | O | O | O | V | V | V | V | V | V | A | A | A |",
"| | A | A | A | A | A | F | F | F | F | F | F | Q | Q | Q |",
"| | K | K | K | K | K | B | C | F | G | H | I | A | A | A |",
"| | 1 | 5 | 6 | 7 | 8 | | | | | | | 1 | 2 | 3 |");
my @info = ( "+----------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+",
"| LHADHRDT | | | | | | | | | | | | | | 1|",
"+----------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+",
"| LHBAERDT | | 4| | 4| | | | | | | | | | |",
"+----------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+",
"| LHEE1RDT | | | 13| | | | | | 48| | | | | |",
"+----------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+",
"| LHLM2RDT | 96| | | | | | | | | | | | | |",
"+----------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+",
"| LHLSERDT | | | | | | | | | | | | | 7| |",
"+----------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+",
"| LHLW1RDT | | | | | | | | | | | 9304| | | |",
"+----------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+",
"| LHUP1RDT | | | | | 160|84385| | | | 271| | | | |",
"+----------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+");
my $mw = MainWindow->new (-background => "GREY");
$mw->title("What Gap Issues There Have Been");
$mw->resizable(0, 0);
$mw->focus;
$mw->geometry("600x400");
my $TA1F = $mw->Frame(-width=>5,-height=>5,-foreground=>"BLUE",-background=>"GREY",-borderwidth=>2,-relief=>'groove')->place(-x=>5,-y=>5);
my $TA1 = $TA1F->Scrolled('ROText', -scrollbars => 'se', -height => 10)->pack(-side => 'left');
$TA1->configure(-background => "GREY",-wrap=>"none");
$TA1->insert('end', "$_\n") foreach @headers;
my $TA2F = $mw->Frame(-width=>5,-height=>5,-foreground=>"BLUE",-background=>"GREY",-borderwidth=>2,-relief=>'groove')->place(-x=>5,-y=>200);
my $TA2 = $TA2F->Scrolled('ROText', -scrollbars => 'se', -height => 10)->pack(-side => 'left');
$TA2->configure(-background => "GREY",-wrap=>"none");
$TA2->insert('end', "$_\n") foreach @info;
$TA1->Subwidget("xscrollbar")->configure(-command => ['xview', $TA2]);
$TA2->Subwidget("xscrollbar")->configure(-command => ['xview', $TA1]);
$mw->focus;
MainLoop;
exit 0;
안녕하세요. 감사합니다. 글렌은 내가 얼마나 멀리 나가는지 알아 봅니다. – Glen
정말 대단히 감사합니다. 지금 당신이 제공 한 것을 사용할 수 있으며, 이제는 제가 필요로하는 것을 확장 할 수 있습니다. 다시 한번 귀하의 시간과 도움에 감사드립니다. – Glen