2013-07-17 68 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

爲重點。如果您有兩個或更多小部件,並使用鍵移動焦點,則會看到效果。 –