2012-06-09 18 views
5

मेरे पास टिंकर कैनवास विजेट (पायथन 2.7, 3 नहीं) है, और इस कैनवास पर मेरे पास अलग-अलग आइटम हैं। अगर मैं एक पुरानी वस्तु को ओवरलैप करता हूं जो एक पुरानी वस्तु को ओवरलैप करता है, तो यह सामने होगा। अब मैं पुराने आइटम को नए बनाए गए एक के सामने या कैनवास पर अन्य सभी वस्तुओं के सामने कैसे ले जा सकता हूं?टिंकर कैनवास आइटम को शीर्ष स्तर पर ले जाएं

उदाहरण कोड अब तक:

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 के सामने होना चाहता हूँ। Canvas वस्तु के लिए

उत्तर

8

उपयोग tag_lower() और tag_raise() तरीके:

canvas.tag_raise(firstRect) 

या:

canvas.tag_lower(secondRect) 
+0

क्या यह इसे एक स्तर या आगे तक बढ़ाता है? –

+3

@ पीटरक्रैमर: सामने मुझे विश्वास है। यहां [लिंक] है (http://effbot.org/tkinterbook/canvas.htm#Tkinter.Canvas.tag_lower-method) –

0

आप कैनवास पर एक से अधिक आइटम नहीं हैं और यदि आप नहीं जानते कि जो एक अपने लिए जा रहा ओवरलैप करें, फिर यह करें।

# 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) 
संबंधित मुद्दे