2013-07-17 39 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添加到Canvas创建中,并且它不会改变任何内容。

边框立刻出现,永远不会消失,不仅仅是当第一张图像被显示时。

Here is a screenshot of the border on an image

可这一边界被删除?如果是这样,怎么样?

回答

3

添加

-highlightthickness => 0 

Canvas通话。这将删除用于显示当前焦点小部件的边框。

+0

不错!这工作!谢谢! – MattDavBen

+1

为重点。如果您有两个或更多小部件,并使用键移动焦点,则会看到效果。 –