首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> Symbian >> Symbian开发 >> 正文
S60 Python 编程指南——信息标签
作者:朱珠    文章来源:http://fred.webcan.cn/weblog/    更新时间:2007-2-2 11:09:30

信息: 其他的 appuifw.app 属性: Tabs , Forms

标签: appuifw.app.set_tabs(tabnames, callback)

标签用来进行程序的页面选择。这里简单介绍了如何创建标签:

  1. # define application 1: text app
  2.     app1 = appuifw.Text(u'Appliation o-n-e is on')
  3. # define application 2: text app
  4.     app2 = appuifw.Text(u'Appliation t-w-o is on')
  5. # define application 3: text app
  6.     app3 = appuifw.Text(u'Appliation t-h-r-e-e is on')
  7. def exit_key_handler():
  8.     app_lock.signal()
  9. # create a tab handler that switches the application based on what tab is selected
  10. def handle_tab(index):
  11.     global lb
  12.     if index == 0:
  13.         appuifw.app.body = app1 # switch to application 1
  14.     if index == 1:
  15.         appuifw.app.body = app2 # switch to application 2
  16.     if index == 2:
  17.         appuifw.app.body = app3 # switch to application 3
  18. # create the tabs with its names in unicode as a list, include the tab handler
  19. appuifw.app.set_tabs([u"One", u"Two", u"Three"],handle_tab)

示例代码 1:

# Copyright (c) 2006 Jurgen Scheible
# This script creates tabs that let you switch between different applications

import appuifw
import e32
from graphics import *

# define application 1: text app
app1 = appuifw.Text(u'Appliation o-n-e is on')

# define application 2: text app
app2 = appuifw.Text(u'Appliation t-w-o is on')

# define application 3: text app
app3 = appuifw.Text(u'Appliation t-h-r-e-e is on')

def exit_key_handler():
    app_lock.signal()

# create a tab handler that switches the application based on what tab is selected
def handle_tab(index):
    global lb
    if index == 0:
        appuifw.app.body = app1 # switch to application 1
    if index == 1:
        appuifw.app.body = app2 # switch to application 2
    if index == 2:
        appuifw.app.body = app3 # switch to application 3

# create an Active Object
app_lock = e32.Ao_lock()

# create the tabs with its names in unicode as a list, include the tab handler
appuifw.app.set_tabs([u"One", u"Two", u"Three"],handle_tab)

# set the title of the script
appuifw.app.title = u'Tabs'

# set app.body to app1 (for start of script)
appuifw.app.body = app1

appuifw.app.exit_key_handler = exit_key_handler
app_lock.wait()



示例代码 2:
# Copyright (c) 2006 Jurgen Scheible
# This script creates tabs that let you switch between different applications
# listbox app, listbox app and canvas app

import appuifw
import e32
from graphics import *

# define application 1: listobx app

# create your icons for the listbox content  
icon1 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 28, 29)
icon2 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 40, 41)
icon3 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 30, 31)
icon4 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 32, 33)
icon5 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 34, 35)
icon6 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 36, 37)
icon7 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 38, 39)

# create your content list of your listbox including the icons to be used for each entry
entries = [(u"Signal", icon1),
           (u"Battery", icon2),
           (u"Sirene", icon3),
           (u"Waste", icon4),
           (u"Helicopter", icon5),
           (u"Train", icon6),
           (u"Auto", icon7)]

# create the listbox callback handler
def handler():
    print "done"
    
# create an instance of appuifw.Listbox(), include the content list "entries" and the callback function "handler"
app1 = appuifw.Listbox(entries,handler)

# define application 2: listbox app

# define the list of items as pop-up menu content
L2 = [u"Stefan", u"Holger", u"Emil", u"Ludger"]

# create the listbox callback handler
def handler_L2():
    print "ola"

# create the pop-up menu 
app2 = appuifw.Listbox(L2, handler_L2) 

# define application 3: canvas application

def app_3():
    global canvas
    img=Image.new((176,208))
    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 (still belonging to app 3) 
    def handle_redraw(rect):
    #global canvas
        canvas.blit(img)
    # define the canvas, include the redraw callback function
    canvas =appuifw.Canvas(event_callback=None, redraw_callback=handle_redraw)
    appuifw.app.body = canvas  

def exit_key_handler():
    app_lock.signal()

# create a tab handler that switches the application based on what tab is selected
def handle_tab(index):
    global lb
    if index == 0:
        appuifw.app.body = app1 # switch to application 1
    if index == 1:
        appuifw.app.body = app2 # switch to application 2
    if index == 2:
        app_3() # switch to application 3
 
# create an Active Object
app_lock = e32.Ao_lock()

# create the tabs with its names in unicode as a list, include the tab handler
appuifw.app.set_tabs([u"One", u"Two", u"Three"],handle_tab)

# set the title of the script
appuifw.app.title = u'Tabs advanced'

# set app.body to app1 (for start of script)
appuifw.app.body = app1

appuifw.app.exit_key_handler = exit_key_handler
app_lock.wait()
Tab 1Tab 2Tab 3

Forms: appuifw.app.form()

  1. # define the content list (consists of tuples: (label, type ,value)); label is a unicode string
  2. # type is one of the following strings: 'text', 'number', 'date', 'time',or 'combo'
  3. # create a list to be used in 'combo' selection mode
  4. model = [u'6600', u'6630', u'7610', u'N90', u'N70']
  5. data = [(u'Mobile','text', u'Nokia'),(u'Model','combo', (model,0)),(u'Amount','number', 5), (u'Date','date'), (u'Time','time')]
  6. # set the view/edit mode of the form
  7. flags = appuifw.FFormEditModeOnly
  8. # creates the form
  9. f = appuifw.Form(data, flags)
  10. # make the form visible on the UI
  11. f.execute()

更多关于 forms 的参数请查看 Nokia API_Reference_for_python 文档
示例代码:

# Copyright (c) 2006 Jurgen Scheible
# This script creates a form

import appuifw
import e32

# create an Active Object
app_lock = e32.Ao_lock()

def forming():
    # create a list to be used in 'combo' selection mode
    model = [u'6600', u'6630', u'7610', u'N90', u'N70']
    
    # define the field list (consists of tuples: (label, type ,value)); label is a unicode string
    # type is one of the following strings: 'text', 'number', 'date', 'time',or 'combo'
    data = [(u'Mobile','text', u'Nokia'),(u'Model','combo', (model,0)),(u'Amount','number', 5),(u'Date','date'),(u'Time','time')]

    # set the view/edit mode of the form  
    flags = appuifw.FFormEditModeOnly

    # creates the form
    f = appuifw.Form(data, flags)
    
    # make the form visible on the UI
    f.execute()

def exit_key_handler():
    app_lock.signal()
    
# set the title of the script
appuifw.app.title = u'Form'

# call the function that creates the form
forming()

appuifw.app.exit_key_handler = exit_key_handler
app_lock.wait()
相关文章:
S60 Python 编程指南——程序菜单练习(1)
Symbian中图标的制作与使用
S60 Python 编程指南——如何创建pys60应用程序
在程序启动后先弹出确定使用文字页面,然后确定后继续运行,怎么做?
Symbian OS应用开发--SMS的故事(一)
关于把http://开头的字符串转变成一个WEB连接的另一种方法
Symbian中同步socket用法
如何获取邮件附件的内容
 

站点地图 | 加入收藏 | 联系站长 | 广告服务 |
QQ:280529124  Tel:0592-8271361 辽ICP备05021703号