sorry for my bad english!

i would create an app that have a "main window"(appuifw.body = canvas1) and when i press a button the app go to the "second window"(appuifw.body = canvas2).And then after 2\3 second, the app return to the "window1"...

this is my test code....

Code:
import appuifw, e32, graphics, key_codes
 
class my_app:
    
    def __init__(self):
        appuifw.app.title = u"Cocktail"
        appuifw.app.directional_pad = False
        appuifw.app.orientation ='portrait'            
        fonts = appuifw.available_fonts()
        self.font = fonts[0]
        self.orange = (229,170,70)
        self.white = (255,255,255)
        appuifw.app.menu =  [(u"Exit", self.quit)]
        appuifw.app.exit_key_handler = self.quit
        self.window1()

    def window1(self):
        self.background2 = graphics.Image.open("E:\\Images\\sfondo.jpg")
        self.barra1 = graphics.Image.open('E:\\Images\\button.png')
        self.barra1_mask = graphics.Image.open('E:\\Images\\barra1-mask.png')
        self.mask1 = graphics.Image.new(self.barra1_mask.size, 'L')
        self.mask1.blit(self.barra1_mask)
        self.canvas = appuifw.Canvas(redraw_callback=self.redraw)        
        appuifw.app.body = self.canvas
        self.canvas.bind(key_codes.EButton1Down, self.press, ((0,83), (360, 123)))    
        
        e32.ao_sleep(0.5)

        x, x1 = -360, -240        
        self.barra1.text((14, 30), u"Search", self.white, font=(self.font,28,appuifw.STYLE_BOLD))        
        while x != 0:            
            self.canvas.blit(self.barra1, target=(x,83), mask=self.mask1)            
            x = x + 60            
        self.background2.blit(self.barra1, target=(0,83), mask=self.mask1)
        self.canvas = appuifw.Canvas(redraw_callback=self.redraw)

    def press(self, pressed):
        self.barra1.clear(self.orange)
        self.barra1.text((14, 30), u"Search", self.white, font=(self.font,28,appuifw.STYLE_BOLD)) 
        self.canvas.blit(self.barra1, target=(0,83), mask=self.mask1)
        del self.barra1
        self.barra1 = graphics.Image.open('E:\\Images\\button.png')
        self.barra1.text((14, 30), u"Search", self.white, font=(self.font,28,appuifw.STYLE_BOLD)) 
        e32.ao_sleep(0.3)        
        self.canvas.blit(self.barra1, target=(0,83), mask=self.mask1)
        e32.ao_sleep(0.1)
    
        self.background3 = graphics.Image.open("E:\\Images\\design.jpg")
        self.canvas = appuifw.Canvas(redraw_callback=self.redraw2)        
        appuifw.app.body = self.canvas
        e32.ao_sleep(2)
        self.window1()

    def redraw(self, rect):
        self.canvas.clear()
        self.canvas.blit(self.background2)

    def redraw2(self, rect):
        self.canvas.clear()
        self.canvas.blit(self.background3)       
        

    def quit(self):
        del self.canvas        
        lock.signal()

if __name__ == "__main__":
    lock = e32.Ao_lock()
    first_app = my_app()
    lock.wait()
but not work good!

how can i multiple window\body ?

thank you for now!
bye!