米饭Py教程(4.3.1)-折叠界面补充
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
icon6 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 36, 37)
icon7 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 38, 39)
list = [(cn("信号"), icon1),
(cn("电池"), icon2),
++++img.point((50.,150.),0xff0000,width=40)
++++img.ellipse((100,150,150,180),0x0000ff)
++++img.text((40,80), cn("广告位招商"),0x0000ff,u"CombinedChinesePlain12")
app1 = appuifw.Listbox(list,action)
app2 = appuifw.Text(u’Happy New Year’)
def app_3():
++++img=Image.new((176,208))
++++img.rectangle((20,10,150,150),0)
(cn("G"), icon3),
(cn("已经联网"), icon4),
(cn("联网断开"), icon5),
(cn("信号条"), icon6),
(cn("电量条"), icon7)]
def action():
++++appuifw.note(cn("米饭教程"),’info’)
本来想继续写一下表格(form)的教程,但是忽然发现这个东西还挺深奥,刚研究完.明天再写教程吧.
[教程]跟米饭学PyS60编程(4.3.1)-折叠界面补充
由于大家很着急知道文本处理的代码,因此折叠界面这节被跳过去了,现在回来继续说.呵呵
4.3.1-折叠界面补充
其实这节还是折叠界面的代码,只是增加了一些新鲜的东西.
先看图:
界面一:
界面二:
界面三:
上一讲的几个界面全部都是文本输入的界面,这次第一个界面加上了图标的Listbox.第二个界面是文本界面,第三个界面是图形界面.看代码:
++++appuifw.app.menu=[(cn(’示范目录’),lambda:appuifw.note(cn(’正常’),’info’))]
;++appuifw.app.set_exit()
def handle_tab(index):
++++if index == 0:appuifw.app.body = app1
import appuifw
from graphics import *
def cn(x):return x.decode("utf-8")
icon1 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 28, 29)
icon2 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 40, 41)
++++def handle_redraw(rect):
++++++++canvas.blit(img)
++++canvas =appuifw.Canvas(event_callback=None, redraw_callback=handle_redraw)
++++appuifw.app.body = canvas
appuifw.app.body = app1
appuifw.app.exit_key_handler = exit_key_handler
【点击下载此段代码】
/bbs/upload0311/2008021733241289.py
讲解:
先说一下定义的那些icon(图标).appuifw.Icon(MBM文件路径, MBM中图片位置1, 2)
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)
++++if index == 1:appuifw.app.body = app2
++++if index == 2:app_3()
appuifw.app.set_tabs([cn("界面一"),cn("界面二"),cn("界面三")],handle_tab)
appuifw.app.title = cn(’折叠界面’)
玩机比较多的人应该知道mbm是由很多图片组成的,这里为什么要用到两张图片呢?我的理解是有一张是蒙板.如果你自己要做这样的mbm文件的话,请去网上搜索mbm制作教程,本教程不讲解.
然后下面定义的list与以前的定义方法有所不同,因为多了图标,注意其格式就好了.
下面也没有什么需要讲解的.
需要注意的是:由于我们只是在app_3里面设置了目录选项(menu),而前两个界面没有设置,因此我们在刚刚进入软件的时候是看不到目录选项的,只有切换到了app_3之后,软件才加载了menu,然后切换回前两个界面的时候,还是可以看到这个目录.为什么在app_3里定义的目录到app2界面还是能够显示呢?因为app2里面没有设置目录嘛.呵呵,如果你想让每个界面都有独立的目录,那就在定义每个界面的时候也同时定义menu就可以了.
icon7 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 38, 39)
list = [(cn("信号"), icon1),
(cn("电池"), icon2),
++++img.point((50.,150.),0xff0000,width=40)
++++img.ellipse((100,150,150,180),0x0000ff)
++++img.text((40,80), cn("广告位招商"),0x0000ff,u"CombinedChinesePlain12")
app1 = appuifw.Listbox(list,action)
app2 = appuifw.Text(u’Happy New Year’)
def app_3():
++++img=Image.new((176,208))
++++img.rectangle((20,10,150,150),0)
(cn("G"), icon3),
(cn("已经联网"), icon4),
(cn("联网断开"), icon5),
(cn("信号条"), icon6),
(cn("电量条"), icon7)]
def action():
++++appuifw.note(cn("米饭教程"),’info’)
本来想继续写一下表格(form)的教程,但是忽然发现这个东西还挺深奥,刚研究完.明天再写教程吧.
[教程]跟米饭学PyS60编程(4.3.1)-折叠界面补充
由于大家很着急知道文本处理的代码,因此折叠界面这节被跳过去了,现在回来继续说.呵呵
4.3.1-折叠界面补充
其实这节还是折叠界面的代码,只是增加了一些新鲜的东西.
先看图:
界面一:
界面二:
界面三:
上一讲的几个界面全部都是文本输入的界面,这次第一个界面加上了图标的Listbox.第二个界面是文本界面,第三个界面是图形界面.看代码:
++++appuifw.app.menu=[(cn(’示范目录’),lambda:appuifw.note(cn(’正常’),’info’))]
;++appuifw.app.set_exit()
def handle_tab(index):
++++if index == 0:appuifw.app.body = app1
import appuifw
from graphics import *
def cn(x):return x.decode("utf-8")
icon1 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 28, 29)
icon2 = appuifw.Icon(u"z:\\system\\data\\avkon.mbm", 40, 41)
++++def handle_redraw(rect):
++++++++canvas.blit(img)
++++canvas =appuifw.Canvas(event_callback=None, redraw_callback=handle_redraw)
++++appuifw.app.body = canvas
appuifw.app.body = app1
appuifw.app.exit_key_handler = exit_key_handler
【点击下载此段代码】
/bbs/upload0311/2008021733241289.py
讲解:
先说一下定义的那些icon(图标).appuifw.Icon(MBM文件路径, MBM中图片位置1, 2)
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)
++++if index == 1:appuifw.app.body = app2
++++if index == 2:app_3()
appuifw.app.set_tabs([cn("界面一"),cn("界面二"),cn("界面三")],handle_tab)
appuifw.app.title = cn(’折叠界面’)
玩机比较多的人应该知道mbm是由很多图片组成的,这里为什么要用到两张图片呢?我的理解是有一张是蒙板.如果你自己要做这样的mbm文件的话,请去网上搜索mbm制作教程,本教程不讲解.
然后下面定义的list与以前的定义方法有所不同,因为多了图标,注意其格式就好了.
下面也没有什么需要讲解的.
需要注意的是:由于我们只是在app_3里面设置了目录选项(menu),而前两个界面没有设置,因此我们在刚刚进入软件的时候是看不到目录选项的,只有切换到了app_3之后,软件才加载了menu,然后切换回前两个界面的时候,还是可以看到这个目录.为什么在app_3里定义的目录到app2界面还是能够显示呢?因为app2里面没有设置目录嘛.呵呵,如果你想让每个界面都有独立的目录,那就在定义每个界面的时候也同时定义menu就可以了.