2013-07-17 2 views
1

Perl과 Tk를 사용하여 이미지가있는 창을 표시하고 있습니다. 흰색 배경, 검은 배경, 이미지 (1280x800), 반복 패턴의 이미지를 순환합니다. 문제는 전체 이미지를 볼 수 있어야한다는 것입니다. Tk는 흑백 배경을 포함하여 이미지 위에 2 픽셀 경계를 놓고 있습니다. 여기에 내 코드 ...Tk 창에서 테두리를 제거 할 수 없습니다.

use Tk; 

# Create and configure the canvas: 
my $canvas = $mw->Canvas(-cursor=>"crosshair", -background=>"black", 
       -width=>1280, -height=>800)->pack(); 
my $canvasWidth = 1280; 
my $canvasHeight = 800; 
my $blackRect = $canvas->createRectangle(0,0,$canvasWidth,$canvasHeight, -fill => "black", -tags => ['blackRect']); 
my $whiteRect = $canvas->createRectangle(0,0,$canvasWidth,$canvasHeight, -fill => "white", -tags => ['whiteRect']); 

# create a Photo object and one Button then we will reuse it. 
my $shot = $canvas->Photo(); 
my $image = $canvas->createImage(0,0, -image => $shot, -anchor => "nw", -tags => ['image']); 

# Remove the borders 
$mw->overrideredirect(1); 

# Loop through images 

내가 overrideredirect이 여분의 물건의 대부분을 없애는 것을 알고,하지만 여전히 나에게 알몸 창을 제공하지 않습니다이다. 캔버스 만들기에 -borderwidth=>0을 추가하려고 시도했지만 아무 것도 변경되지 않습니다.

첫 번째 이미지가 표시 될 때뿐만 아니라 경계가 즉시 나타나고 절대로 사라지지 않습니다.

Here is a screenshot of the border on an image

이 테두리를 제거 할 수 있습니까? 그렇다면 어떻게?

답변

3

Canvas 호출에

-highlightthickness => 0 

를 추가합니다. 이렇게하면 현재 포커스가있는 위젯을 표시하는 데 사용되는 테두리가 제거됩니다.

+0

니스! 이것은 효과가있다! 고맙습니다! – MattDavBen

+1

초점을 위해. 두 개 이상의 위젯이 있고 키를 사용하여 포커스를 이동할 경우 효과가 나타납니다. –

관련 문제