1

我正在使用 Perl 和 Tk 来显示一个带有图像的窗口。它以白色背景,黑色背景,图像(1280x800)的模式循环显示图像,重复。问题是我需要能够查看整个图像。Tk 在图像顶部添加了一个 2 像素的边框,包括黑白背景。这是我的代码...

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到画布创作中,但它没有任何改变。

边框会立即出现并且永远不会消失,而不仅仅是在显示第一张图像时。

这是图像边框的屏幕截图

这个边框可以去掉吗?如果是这样,怎么做?

4

1 回答 1

3

添加

-highlightthickness => 0

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

于 2013-07-17T14:40:36.513 回答