Is there a way to keep consistent stacking order of widgets (particularly images) from within Tkinter? For example, I may have two rectangles, two triangles, and a circle all at the same location on the canvas. The circle moves to wherever the mouse was last clicked, but I always want it to be drawn on top of rectangles and behind triangles. The default behavior is of course to place the last-drawn object at a given location on top.
I've only found the lift() and lower() methods to address stacking in Tkinter thus far. I could theoretically make some messy checks at every re-draw to see whether triangles exist at the destination and do some lift()/lower() for each shape there until things are the way I want, but it seems an absurd solution. I expected there to be a sort of "layer" variable on canvas objects so it would passively remember that items of layer 3 should always be behind those of layer 1.
I apologize if there is a simple method to solve my problem, but as of yet all my searching has been to no avail. I will be thankful for any input!