用WXPython编写CAI课件用户界面

来源 :电脑学习 | 被引量 : 0次 | 上传用户:mouliyue
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:对wxPython工具箱的主要组件及其使用方法作简单介绍,并给出了一个用wmPython设计的课件用户界面。 
  关键词:wyPython 用户界面 CAI Script 自由软件
  
  用wxPvthon结合wxPython工具箱,进行课件设计,不仅使课件具有了交互性,更使课件具有了坚实的科学计算基础。特别需要指出的是:使用wxPython这样的自由软件,可以免费获取大量现成的源代码进行借鉴和利用,这将大大缩短开发周期;而使用者也无需花钱购买运行环境需要的软件(如MS office),课件的运行成本将会极少。
  
  1 wxPython工具箱中的部分主要组件
  
  提及的wxPvthon为2.6.1.0,是包含在python的一个集成发布包Enthought 0.9.2中的,是ansi版,但并不妨碍在界面上显示中文。其所附的演示程序(demo)位于Python安装日录下的Enthought/demo子目录下,主程序为Main.py,运行时的界面。下面结合演示程序,对wxPython中的部分主要组件作一简单介绍。界面的主体是一个窗体(Frame),窗体上方是菜单栏(MenuBar),下方是状态栏(StatusBar),中间由两个分隔窗口(SplitterWin-dow)将窗体主体分为三个子窗口。左边的子窗口中嵌入一个树组件(TreeCtrl),由一个根节点和两层下拉式子节点构成,上一层用于对演示的例子程序进行组织分类,下一层的每个节点的名称(hemText)均对应一个具体的演示例子程序的文件名。树的结构对应于Main.py中定义的一个名为treeList的列表数据结构。如改变treeList的内容,就可轻易改变演示内容。右边下面的子窗口中嵌入了一个文本框组件(TextCtrl),用于显示程序运行时的有关信息。右边上面的子窗口中嵌入了一个可以组织多页窗口的组件(Note-book),由图1可以看出,Notebook上方有三个页面标签(tab),点击不同的标签将显示不同的页面窗口(page),三个页面窗口分别是:web页面窗口(HtmlWindow)、源程序面板窗口(Panel)和程序运行窗口(其组件可以是继承wxPython的Window类的一个子类,如Panel,PlotWindow等),分别用于显示综述(OverView)、显示例子程序的源代码和运行例子程序,三个页面窗口中的内容均和同一源程序文件有关。
  上述讨论不难看出,图1所涉及的一些wxPython中的的组件,如菜单、树、窗口、多页窗口、面板等均是编写课件图形用户界面的重要组件。界面亦是一个非常不错的通用界面。其中的TreeCtrl组件可用于课件大纲内容的目录组织,Notebook组件可用于课件主题内容的分页管理:HtmlWindow页面窗口可用于课件一般内容(采用Html的网页格式)的显示:而涉及科学计算结果的可视化内容:如各种二维曲线图、三维立体图、动画等可通过嵌入到Note-book的页口窗口中显示出来。TreeCtrl组件上的节点由_treeList列表变量控制和组织,每个节点均对应一个文件。这种设计框架使得课件的编写被分解为对一个个具有固定格式的独立程序文件的编写。其结果是:无论内容的更改还是增加、删减都显得更为灵活。更改内容仅需修改相应的程序文件,对其它文件和主程序无任何影响。增加和删减课件内容那就更为方便,只需修改treeList列表变量的内容即可。通过改变treeList列表中条目的次序,更可轻松实现课件内容的重新组织。独立程序文件中的固定格式大致为:
  用户界面非常相似。主要区别只是窗口中显示的内容。程序窗口中的显示变成了牛顿环的干涉图案,相应的代码存放在名为牛顿环-PY的文件中,其中的代码应按照上节中总结出的、显示课件页面内容的固定程序文件格式书写,以便主界面程序调用。页面上使用了wxPython的其它一些组件,用于进一步增强课件的交互性:并用Scipy作为计算工具,使其具有坚实的科学基础。程序窗口是一个wxPanel的实例,其中除放置了wxStaficBitmap组件用于显示干涉图案外,还放置了WX-TextCtd,wxSpinButton,wxSlider,wxButton等组件。通过对组件绑定相关事件,用户便可轻松设置牛顿环干涉实验的相关参数,观察不同的干涉图案。
  整个课件用Scipy作为计算工具,先根据干涉和衍射的光强分布公式Ⅲ,采用Scipy的矩阵运算函数,得出公强分布的矩阵数据:然后根据用户选择的波长值,算出对应颜色的色图。在获得光强分布和对应色图的基础上,先采用Scipy的绘图子程序包plt中提供的功能,将其转换为BitMap的位图数据,再通过wxPython的位图组件显示出来。课件不仅科学,而且具有很好的交互性,用户可以通过wxPython窗口页面上的组件来调节不同的演示参数,从而观察到不同的光强分布图案。
  
  3 结束语
  
  用wxPython设计的图形用户界面,其视觉效果非常类似于用Microsoft Visual系列语言设计的程序界面。用来设计课件用户界面更是具有许多优点。它不仅方便好用,而且简洁漂亮,更重要的是设计出的用户界面灵活性强、适用性广,可以适应不同内容课件的需要。
其他文献
选题背景与目的  1979年,我国从日本引进地膜覆盖技术,随后大面积推广。截至2014年,全国地膜用量达到144.1万吨,覆盖面积超过3亿亩。地膜覆盖栽培的最大作用是提高土壤温度,由于薄膜的气密性强,地膜覆盖后能显著减少土壤水分蒸发,使土壤湿度稳定,并能长期保持湿润,有利于根系生长。在旱区可以采用人工造墒、补墒的方法进行抗旱播种。由于地膜覆盖有增温保湿的作用,因此有利于土壤微生物的增殖,加快腐殖质
摘 要:介绍了当今流行的P2P网络搜索模型。对各种模型的代表软件及其工作原理进行深入的剖析和比较。  关键词:P2P 网络搜索 JXTA    1 P2P网络模型的分类与比较    目前,P2P网络的模式有很多种,主要分类如下:  (1)按系统中是否存在集中式服务器,P2P系统可分为纯粹的P2P系统和混杂式P2P系统(Hybrid P2P或Server-mediated P2P)。前者不存在
马未都  观复博物馆创办人及现任馆长。曾任中国青年出版社编辑。20世纪80年代初期开始收藏中国古代艺术品,藏品包括陶瓷、古家具、玉器、漆器、金属器等。1992年出版《马说陶瓷》一书,被许多读者视为传统文化的优秀启蒙读物之一;此外,还撰有《明清笔筒》等文物鉴赏研究专著。其中《中国古代门窗》一书获第六届国家图书奖、第二届全国优秀艺术图书一等奖。1997年1月18日,创建新中国第一家私立博物馆——观复博
2012年6月15日,由中华人民共和国文化部艺术司、中国美术馆和中国油画学会联合主办、北京国子监油画艺术馆协办的“在当代·2012中国油画双年展”在中国美术馆开幕。  在西方较有影响的双年展中,包括油画在内的绘画己经被边缘化了,代之而起的是影像、装置、行为等当代艺术样式。但是,绘画并没有像某些理论家和批评家预言的那样“死亡”了,而是依旧充满活力。在中国,油画一方面在视觉艺术系统中仍然占有重要地位,
[内容摘要] 作为一种不断传承演进的文化形态,民间美术是一个充满原始生命力的母体艺术,它是宫廷美术、文人士大夫美术、宗教美术的本源和基础。而建立设计艺术与民间美术之间的联系,就是对中国文化基因的血脉的修复和保护。  [关键词] 民间美术?设计艺术?文化基因?阴阳观?原始美  植根于民族文化土壤的民间美术是一种充满原始生命力的母体艺术,作为一种不断传承演进的文化形态,它是宫廷美术、文人士大夫美术、宗
本次实验是一个很酷的活动,非常适合在炎热的夏日进行。让我们用水创造一个奇特的图案吧!  实验条件及材料  深颜色的杯子  水  有图案的金属物体,例如餐具或1枚硬币  1块透明塑料布(可以考虑干净的食品包装,例如透明的饼干包装)  橡皮筋  胶带(可选)  手电筒(可选)  活动步骤  (1)将带有图案的金属物体放进冰箱里冷藏。在这个阶段,你最好在比较小的物体(比如硬币)上粘一圈胶带,这样更容易将
1861—1900:学徒,学业与早期职业生涯  埃米尔·安托万·布德尔(1861—1929)于法兰西第二帝国时期(1852—1870)出生于法国南部的蒙托邦。[1]他乐于强调自己来自质朴的手工艺人家庭(与同时期多位雕塑家一样)。布德尔13岁便离开了学校,在身为细木工和木雕家的父亲的木匠店里当学徒。小小年纪就显现出绘画天赋,当学徒的同时在安格尔博物馆下属的蒙托邦绘画学校学习(著名画家多米尼克·安格尔
展览基本信息  展览名称:可见之诗——中国油画风景作品展  展览时间:2014年4月18日—27日  展览地点:山东潍坊鲁台会展中心  展览规模:作品展出约260幅  中国传统精神品味在画中,又常在画外;在可见处,更在诗画相生的生活里。  油画,始于西来,又始终在东方文化中讨生活,既充满生机,又常临误识。一边长于写生写实之道,一边又易于止步摹拟;一边以实验性变革和创新自命,一边又常囿于媒体仿像之病
2012年4月26日,“笔墨尘缘—冯远中国画作品展”在中国美术馆盛大开幕。展览由中国文学艺术界联合会、中华人民共和国文化部、全国政协书画室、清华大学、中国美术家协会、中国美术馆联合主办,全面展示冯远自20世纪80年代从浙江美术学院(现为中国美术学院)毕业以来30余年的美术创作历程。这也是冯远从艺40年来首次个人作品展,他自称为“创作研究的阶段性小结”。他专为本次展览创作的巨幅作品《今生来世》也将首
为了说明创客教育和STEM教育内容选择的问题,我们在前面的文章中列举了不少案例,这些案例都将创客视为一个专门的课程开展。除了将创客教育和STEM教育作为一个专门的课程开展,我们更可以将创客教育和STEM教育与现有的学科教育结合起来,用创客的方法改变学科课程的开展方式。  新课改要求教师的教学从“以教育者为中心”向“以学生为中心”转变,“从教会知识”向“教会学习”转变,从“重结论轻过程”向“重结论的