RWPy4learner 11.3.30 documentation

Version: 11.3.30
[首页] <no title> << 把通信录移植道手机上 (Source) >>推荐阅读

把通信录移植道手机上

小白把打包好的通信录软件拿到班上去进行展示。“这下,同学们都该要把我拜成大神了吧?”小白想。谁知,当小白兴冲冲的演示完他的通信录之后,同学们的话却让小白的心跌入了谷底。 “这年头谁还用那老土笨重的电脑啊!竟然没有相对应的手机版本,难不成打个电话还得开电脑找号码?!!”小白仔细一想:“也对,打电话还得开电脑找号码,这也的确太麻烦了。对了,如果按照同学说的那样,把通信录移植到手机上,倒是一个能很好解决这个问题的办法。”小白萌生了移植的念头。“我的手机是台PPC,不如我就先尝试把通信录移植到我自己的手机里吧?!不知道有没有Python的手机版本呢?”小白决定到网上去寻找答案。小白打开Google,输入“PPC Python”进行搜索,在搜索结果的第二项,他看见了这个。

  http://seewind.blog.51cto.com/249547/46354 (搜索图片暂略)

看完了这篇blog,小白发现PPC上不仅有Python,甚至还有与之相对应的Tkinter库。“太棒了,PPC上不仅有Python,还有Tkinter,有了这些不就可以把我的通信录的Tkinter版本移植到PPC上了吗?”小白马上动起手来,按照那篇 blog 的指引,他首先到

::   http://pythonce.sourceforge.net/

下载了PythonCE的最新版本PythonCE2.5,在把文件复制到了PPC上后,小白开始了安装。

../_images/installpy.png

“哇咔咔,成功打开了,一个Python Shell呢!

../_images/ppcpysrart.png

”接下来就是把PythonCE的Tkinter也安装好,这样通信录的运行环境就搭建完成啦!”小白兴奋道。他又按照文章的指引,到

http://prdownloads.sourceforge.net/pythonce/Tkinter-Files.zip?download
ftp://ftp.tcl.tk/pub/incoming/tcltk8_4_12_ce-arm.zip

下载到了那两个压缩包,并且把Tk84.dll、TCL84.dll、CElib.dll三个文件复制到了PPC的windows目录中。小白继续看那篇文章,他发现了这些东西:

tcltk8_4_12_ce-arm.zip包中,只需要tk84.dll文件,是解决一个BUG的。Tcl84.dll、Tk84.dll、celib.dll三个文件复制到PPC的windows目录中。还要将TKinter-Files.zip中的library、Tk8.4两个包含有TCL脚本的目录放到Python能找到的路径里面(我的是这个路径:\SD Card\python\,有点奇怪,为什么是这个路径,我是根据Python运行Tkinter例子脚本时的出错信息试出来的)。这样《DiveIntoPython中文版》的Tkinter例子就可以正常运行拉。

“把他们复制到Python能找到的目录里面?什么是Python能够找到的目录呢?kao,不管啦,还是按照文章说的那样,导入Tkinter模块,然后从错误信息中找出它‘能找到’的路径吧!”小白想。

../_images/tclpatherr.png

“哈哈,输出的错误信息中包含这么一大堆的路径,这应该是Python所谓‘能找到’的路径了吧?”小白低吟道。他把library,Tk8.4这两个文件夹复制到其中一个文件夹中,然后尝试导入Tkinter模块,想要验证模块的导入是否成功。 小白输入第一句:

::
>>> from Tkinter import *
>>>

“哇噻,成功导入Tkinter了!没有出错!好,下面我再试试创建一个窗口!”小白迅速按动PPC。

r=Tk()
r.mainloop()
../_images/ppctkok.png

“Yeah,成功了,太棒了!这下PythonCE环境算是全搭建完成了!!”小白兴奋道,他已经完成了环境的搭建,接下来,他要进行最重要的一步:Tkinter版通信录的移植。 小白想:“Python的优点是什么呢?简单、快速、跨平台,那么,为什么不能试试直接运行呢?”小白把Tkinter版通信录复制到PPC上,并点击运行。“哇,这界面咋这么大?”小白发现Tkinter版通信录拉到PPc上运行后,出来的界面非常巨大,大小甚至已经超过了PPC的屏幕,“怎么办,怎么办?”小白急的像热锅上的蚂蚁,突然一道灵光闪现,“对,既然超出了PPC的屏幕这么多,那就只要改改代码中有关界面元素的高宽不就得了?”小白马上付诸于实施.

../_images/ppcmalastart.png

在经过重重修改和反复运行后,小白成功了。小白兴奋的调试他的软件:

新建个联系人试试?

../_images/ppcmalanew.png

再来个查找联系人

../_images/ppcmalafind.png

“搞定!一点问题都没有,真是完美的移植”

番外篇: 话说那天小白又在网上搜索“PPC Python”关键词,想看看有没有更多好玩的模块,突然,小白发现了这篇文章:PPC上的Python IDE。

http://seewind.blog.51cto.com/249547/46348 (搜素图片暂略)

“PPC上的Python IDE?有了它,不就可以用手机随时随地的进行Python程序的修改与编写吗?这多方便啊?”小白想,他决定去看看。 很快,小白按照文章指引,从:

http://sourceforge.net/projects/vensterce/

下载到了vensterCE,在按照那篇blog安装好vensterCE后,小白运行了Pyceide.py。

../_images/dialogerr.png

“啊!出错了,怎么回事?”小白连忙查看错误输出,他发现错误来自dialog文件的第347行,错误类型是语法错误,小白决定打开这个文件看看。

“kao,怎么是缩进错误,else多后退了八个空格…这是怎么回事?编写者的问题?这编写者也太弱了吧!这都能出错!”小白愤愤道。

在修改好了缩进问题后,小白再次运行软件,这次成功了。

../_images/ceidetext.png

除此之外,小白还找到了能在PPC上运行的PyGame和能在PPC上运行的Wxpython。他决定先把它mark住,请读者朋友帮他进行研究,因为他知道有更重要的事情等待着自己去做。

附录:

*PPC上的wx:

http://wxpyce.wikispaces.com/Build

*ppc上的pygame:

http://tailorcai.iteye.com/blog/189463