# by handing over "round" which is an instance of appuifw.Text() as definded above
示例代码:
---------------------------------------------
# Copyright (c) 2005 Jurgen Scheible
# This script draws different shapes and text to the canvas
import appuifw
from appuifw import *
import e32
# import graphics
from graphics import *
# create an exit handler
def quit():
global running
running=0
appuifw.app.set_exit()
# set the screen size to large
appuifw.app.screen='large'
# define an initial image (white)
img=Image.new((176,208))
# add different shapes and text to the image
# coord. sequence x1,x2,y1,y2
img.line((20,20,20,120),0xff00ee)
img.rectangle((40,60,50,80),0xff0000)
img.point((50.,150.),0xff0000,width=40)
img.ellipse((100,150,150,180),0x0000ff)
img.text((100,80), u'hello')
# define your redraw function (that redraws the picture on and on)
# in this case we redraw the image named img using the blit function
def handle_redraw(rect):
canvas.blit(img)
running=1
# define the canvas, include the redraw callback function
canvas=appuifw.Canvas(event_callback=None, redraw_callback=handle_redraw)
# set the app.body to canvas
appuifw.app.body=canvas
app.exit_key_handler=quit
# create a loop to redraw the the screen again and again until the exit button is pressed
while running:
# redraw the screen
handle_redraw(())
# yield needs to be here in order that key pressings can be noticed
e32.ao_yield()
------------------------------------------------
9. 如何创建一个主循环?
把主循环放置在需要反复运行的代码位置
1.
running = 1
2. while running:
3. # #e.g. redraw the screen:
4. handle_redraw(())
这里有2个我常用的程序骨架示例
- no main loop because the application logic works without