2012-06-09 34 views
5

öğeyi (Python 2.7 değil, 3) ve bu Tuval üzerine farklı öğeler var. Eski bir öğeyle örtüşen yeni bir öğe oluşturursam, ön tarafta olacak. Şimdi eski öğeyi yeni oluşturulmuş olanın önüne veya hatta Tuval üzerindeki diğer öğelerin önüne nasıl taşıyabilirim? Bugüne kadarTkinter Tuval hareket Bir Tkinter Tuval widget'ı sahip üst seviyeye

örnek kod:

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") 

şimdi firstRect secondRect önünde olmak istiyorum. Canvas nesne için

cevap

8

kullanın tag_lower() ve tag_raise() yöntem:

canvas.tag_raise(firstRect) 

Veya: tuval üzerine birden fazla öğe varsa ve

canvas.tag_lower(secondRect) 
+0

o bir seviye veya öne doğru yükseltir? –

+3

@PeterKramer: Ön tarafa inanıyorum. İşte [link] (http://effbot.org/tkinterbook/canvas.htm#Tkinter.Canvas.tag_lower-method) –

0

tek onun gidiş hangi bilmiyorum Üst üste gel, sonra bunu yap.

# 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)