【问题标题】:Unable to Remove Border from Tk Window无法从 Tk 窗口中删除边框
【发布时间】:2013-07-17 14:35:12
【问题描述】:

我正在使用 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 添加到 Canvas 创建中,但它没有任何改变。

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

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

【问题讨论】:

    标签: perl tk perltk


    【解决方案1】:

    添加

    -highlightthickness => 0
    

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

    【讨论】:

    • 为了焦点。如果您有两个或更多小部件并使用 键移动焦点,您会看到效果。
    猜你喜欢
    • 2016-10-10
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    相关资源
    最近更新 更多