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 に答える