9

Tkinter Canvas ウィジェット (3 ではなく Python 2.7) があり、この Canvas にはさまざまなアイテムがあります。古いアイテムを重ねて新しいアイテムを作成すると、前になります。古いアイテムを新しく作成したアイテムの前、またはキャンバス上の他のすべてのアイテムの前に移動するにはどうすればよいですか?

これまでのコード例:

from Tkinter import *
root = Tk()
canvas = Canvas(root,width=200,height=200,bg="white")
canvas.grid()
firstRect = canvas.create_rectangle(0,0,10,10,fill="red")
secondRect = canvas.create_rectangle(5,5,15,15,fill="blue")

今、firstRect を secondRect の前に置きたいと思っています。

4

2 に答える 2

15

オブジェクトに対してメソッドtag_lower()tag_raise()メソッドを使用します。Canvas

canvas.tag_raise(firstRect)

または:

canvas.tag_lower(secondRect)
于 2012-06-09T09:46:01.493 に答える
-1

キャンバスに複数のアイテムがあり、どれが重なるかわからない場合は、これを行います。

# find the objects that overlap with the newly created one
# x1, y1, x2, y2 are the coordinates of the rectangle

overlappers = canvas.find_overlapping(x1, y1, x2, y2)

for object in overlappers:
    canvas.tag_raise(object)
于 2015-07-27T08:02:08.273 に答える