So what is happening in your examples is that you placed panel 2 inside panel 1. That is why in the initial panel contains both overlapping. Then when you're doing your panel 1 button callback you see the correct panel 1 (as you're hiding the overlapping panel 2) and nothing in the panel 2 button callback as you're hiding panel 1 (and everything inside of it, which includes panel 2).
To get around this is that you can overlap them by using the arrow keys when you highlight instead of using the mouse and drag them. When you use the mouse and drag one on top of the other it places one inside the other. hitting ctrl+arrow key makes a coarse move and just arrows does it by pixel.
Another approach is to instead of placing them ontop of each other use the set() and the position parameter to move the panels around (ie off window and out of sight and move the desired one into position). I do not know if there are down sides (performance wise) but i have done this in the past.
Best Answer