----------------
界面转换
--------------------
应のBlog
4.1.2 选择列表--界面转换
前面我们说了怎样做选择列表,也说了怎样定义选择列表之后的动作.现在你可能会想,这软件也不能只是点了列表然后弹出个提示框就行了吧?假如我想点了列表之后到文本界面怎么做?那么我们现在就做一个软件,打开后出现选择列表,有两个选项,一是:点击之后进入以前我们学着做的那个编贴助手,然后点第二个列表是弹出作者信息.好.看代码:
#****代码开始****
import appuifw
def cn(x):return x.decode("utf-8")
def exit():appuifw.app.set_exit()
def editor():
def add():
m.add(cn("\n这是添加文字功能"))
def clear():
m.set("")#括号里面是一对双引号
appuifw.app.body = m = appuifw.Text()
m.set(u"zntx.org.cn")
m.add(cn("\n米饭教程"))
appuifw.app.menu = [(cn("添加文字"),add),(cn("清除屏幕"),clear),(cn("退出"),exit)]
appuifw.app.exit_key_handler=alist
def alist():
def press():
index = listbox.current()
if index == 0:
editor()
elif index == 1:
appuifw.note(cn("米饭教程"),"info")
list = [cn("进入编贴助手"),cn("关于软件")]
appuifw.app.body = listbox = appuifw.Listbox(list,press)
appuifw.app.menu = [(cn("退出"),exit)]
appuifw.app.exit_key_handler = exit
alist()
#****代码结束****
点此下载代码
讲解:
这段代码比以前更复杂了.我们先看最后这个 alist() 是什么意思呢.我们可以看出来它没有缩进,说明是这个软件打开直接运行这个函数.我们再看前面,因为我们定义了两个界面:一个是 alist ,另一个是 editor .所以我们就让软件打开之后首先载入 alist 界面.当然如果你想让程序打开时进入 editor 界面那就把这里的 alist 改为 editor 就好了.
然后 alist 和 editor 这两个函数里的代码我们应该不陌生了吧?都是以前我们说过的.
但是有一点新东西:
先看 alist 这里, if index == 0:editor() ,这个的意思是如果选择第一个列表,那么就运行 editor .这个可能不说你也明白:)
再看 editor 里面,这个 appuifw.app.exit_key_handler=alist 就是说在 editor 界面的时候按右软键是返回到 alist 界面,而不是退出.
好了,关于选择列表这个界面我们就说到这里,下一讲我们会简单说一下图形界面.
还得说两点:一就是:请仔细的阅读这个教程,不要马马虎虎的看然后想当然的把代码写上,一运行出错,就马上加我QQ问我错在哪里,然后我把代码要过来一看,竟然不是少括号就是多逗号,您说,这是不是有点...
第二是:有人说我代码里有空行,这个是我的习惯,每个单独的部分我都会用一个空行甚至是多个空行隔开,如果都挤在一起那很不方便自己理解,本来手机屏幕就小,容易没思路,如果你代码再乱七八糟的,那岂不是自己受罪?