画布上的框架与画布中创建的线重叠

问题描述

我需要在画布中创建一个框架,以便删除用户可以放置在画布中的大量小部件。它放置在框架中,因此我可以使用canvas.delete(“ all”)删除它们。我还需要一些行,因为Frame不接受行,所以我需要直接在下面的画布中创建它。问题在于框架与线重叠。我尝试了canvas.lift()和tag.raise()方法,但是它们不起作用。知道如何解决吗?

<div class="col-sm-12">
   <ng-container *ngFor="let item of data; let i = index">
     <div
        [ngClass]="{
        'd-none':
            item.clase == 'categoria1' && !categoria1) ||
            item.clase == 'categoria2' && !categoria2) ||
            item.clase == 'categoria3' && !categoria3)
        }">
        <div id="ribbon-container">
        <span id="ribbon" [ngClass]="item.clase">
          {{item.categoria}}
        </span>
        </div>
        <div>
        <img [src]="'./assets/img/emotions/' + item.imagen" class="img-fluid imagen_tarjeta_emociones float-right"
        />
    </div>
 </ng-container>

enter image description here

解决方法

放置在画布中的小部件将始终位于其他图形项(如线和圆)上方。无法解决该限制。

来自canonical tcl/tk documentation

注意:由于管理窗口的方式的限制,无法在窗口项的顶部绘制其他图形项(例如线条和图像)。窗口项始终会遮盖与其重叠的所有图形,无论它们在显示列表中的顺序如何。还要注意,与其他画布项目不同,窗口项目不会通过其包含的画布的边框进行裁剪以显示,而是由 window 选项指定的窗口的父窗口小部件进行裁剪;当父窗口小部件是画布时,这意味着该窗口项可以与画布的边框重叠。