BOA constructor安装与使用[转]
- 博客分类:
- 技术杂绘
BOA constructor安装与使用[转]
2009年09月02日
我用Boa constructor很长时间了,也用它做了一个小项目(双色蟒 http://code.google.com/p/ssqpython),有一些感觉了;而且之前翻译了Boa constructor的中文部分,如果你从网上下载的是0.6.1版本,i18n中都会有中文可选。所以对它做一个介绍(基于Windows)。
首先要说的是Boa constructor不是Boa,当然也不是韩国女歌手宝儿。官方的网站是:http://sourceforge.net/projects /boa-constructor/。而Boa也是Sourceforge上面的项目,是一个HTTP服务器项目。Boa constructor只是一个“wxPython GUI Builder”,即wxPython图形界面构建器。 我不想介绍Boa constructor有多么容易上手,也不想说它曾获过Sourceforge的月度最佳,我只是谈谈自己的感受。
当前我所看到的版本是0.6.1-beta,发布出来的时间是2007年7月5日。有三个版本:boa-constructor- 0.6.1.bin.setup.exe、boa-constructor-0.6.1.src.win32.exe、以及boa- constructor-0.6.1.src.zip。我使用的是boa-constructor-0.6.1.src.zip。我推荐使用这个版本,因为我估计你已经安装好了Python和wxPython,所以用这个版本更能体现你的专业性:)。
解压缩到C:Python25\Lib\site-packages\Boa目录下面,然后做一个Boa.py的链接到桌面。 双击链接启动……什么,无法启动?这个问题很严重,很多人都没有办法解决。
1、请先打开cmd窗口(就是命令行窗口),输入python,看到Python的交互界面了吗? 就像这样: C:\Documents and Settings\Administrator>python Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
如果看到请按下Ctrl+Z退出,并直接到第2步。如果看不到,那么你没有安装Python,或者没有将Python所在目录加入系统环境变量中。下载Python请到http://www.python.org/download/,请选择Python 2.5.1 Windows installer。 (当然如果是其他系统,请选择其他对应项)环境变量的添加方法是:我的电脑-->右键-->属性-->高级-->环境变量-->系统变量 -->PATH-->添加“X:\Python25”进去,点击“确定”。好了,现在可以再重新打开一个命令行窗口,输入python看看,是不是可以看到Python提示符了?
2、接下来我们在Python提示符下输入:import wx,如果没有任何反应(你按没按回车呀?没按?快按!)如果出现错误:ImportError: No module named wx,这说明你没有安装wxPython。请到官方网站www.wxpython.org上下载。注意:一定要和Python对版本保持一致。比如我的 Python版本是2.5.1,我下的wxPython文件就是wxPython2.8-win32-unicode-2.8.6.0- py25.exe。
wxPython有两种类型:一种是ASCII,一种是Unicode。推荐下载Unicode,据说这种版本对中文支持的比较好。安装好wxPython之后,在Python提示符下输入:import wx。提示符直接跳到下一行,这就意味着wxPython已经导入成功了。再继续输入:wx.VERSION,看到了什么?我看到的是(2,8,6,0, '')。如果你看到的小于2.8.0.0,那么还需要更新为更新的版本,因为最新版的Boa constructor需要2.8.0.0以上版本的wxPython。
请不要安装最新版、次新版、次次新版等等的wxPython,因为boa constructor升级比较慢,所以不能很好的支持最新的wxPython。(也怪wxPython升级太频繁,呵呵)而且我建议同时下载安装对应的win32-docs-demos,这个是wxPython官方提供的一些例子,基本涵盖wxPython的所有功能,对于学习wxPython绝对有好处。 在我们安装好Python和wxPython之后,就可以直接运行Boa constructor了。
双击Boa.py吧!! 当你第一眼看到Boa constructor时,你会发现它和Delphi很像(没见过Delphi也没有关系),有人还说跟VB很像。如果你用的是中文版操作系统,你看到的应该是中文界面。 如果你用的是其他语言的操作系统,可以选择Editor中的Tools下面的Choose IDE Language,选择Chinese,点击OK,重新启动Boa constructor,这时候就应该是中文版了。
但是我推荐用英文版,原因:中文版现在还有些翻译错误(是我的错),而且掌握好英文也没什么害处。
它分三个部分:Palette、Inspector和Editor。Palette(调色板)位于最上方;Inspector(检测器)位于左侧;Editor(编辑器)位于右侧。Designers(设计器)、Explorer(浏览器)、Debugger(调试器)则通过Editer来调用或呼出。
让我们直接开始吧:
1、先创建一个wx.App,这样会自动创建wx.Frame,Boa constructor就是这样设置的,我也推荐这样,先有一个app(没有Frame),然后调用其他Frame。创建方法有两种:在最上方的 Palette中的New面板下面选择wx.app;或者在Editor中选择File菜单下面的New的wx.app。
我们可以在Editor中看到在Shell和Explorer旁边出来一个*(App1)*和*(Frame1)*。出现*表示还没有保存。这两项下面都有子面板Source,嗯,就是代码。好了,我们先保存一下。通过File-Save保存也可以,点击那个软盘图标保存也可以。
2、然后我们可以在Frame中添加Panel(面板)或者Button(按钮)或者TextCtrl(文本控制)。Frame是框架的意思,有框架之后就可以添加任何东西进去。最先添加进去的是一个“底板”,通常会是Panel或者Windows之类的。这种“底板”添加进去之后就会自动填充满 Frame。
点击Frame,然后点击Editor中的Frame Desinger图标(快捷键是F12),看见深灰色的小格子,上面还有一个标题栏对不对?这个就是Frame!现在我们就可以往其中拖拽东西了。所有可以拖拽进去的东西都在上方的Palette中,有很多的哦,比如Containers/Layout(容器/布局)、Basic Controls(基本控件)、Buttons(按钮)、List Controls(列表控件)等等等等。
我们在Containers/Layout中选择第一个图标wx.Panel,左键点一下,嗯,变成按下状态了。然后再Frame中点一下,Yeah~添加进去了。为什么没充满整个Frame呢?别急,先点右上角的×关掉这个Frame,再点开这个Frame(F12忘了吗?),是不是填充满了呢?都是浅灰色的了。
(关掉重新再开――这个技巧很重要,因为只有这样Boa Constructor才能识别出来。以后我们设置属性、调整大小等等操作也最好这样“关掉重新再开”一下)
我们把鼠标放到Frame上,能看到panel1,放到标题栏上能看到Frame1(或者你保存Frame的名字)。这个名字也可以改,左键点击,然后看看Inspector面板中的Constr属性页,Name一项就是名字。左键点击就可以修改,千万千万别改成中文、法文、日文、韩文,只能是英文!改好之后点击上面的刷新图标(Recreate selection)。也可以改位置,在Position下面修改;也也可以改大小,在Size下面修改;也也也可以改风格,在Style下面修改。
(其实这还是需要wxPython方面的知识的,看看wxPython in action这本书吧,可以还是英文的)
Inspector下面的Props属性页下面可以该更多的东西,比如背景颜色(BackgroundColour)、提示文字(ToolTipString)、字体(Font)等等。很有用的Sizer(大小管理器)也是在这个下面设置。
你发没发现很多关于文字设置前面都有一个u,这是unicode的缘故。也是我们安装wxPython-unicode版本的缘故,你可以在某些提示文字之类的地方输入中文,系统会自动转换成unicdoe码。
(关于unicode真是很复杂!!我曾经在windows下开发,没什么问题,但是放到Linux下,傻眼!所以如果你要做跨平台软件,好好了解一下unicode)
Inspector下面的Evts属性页就是“事件”。所有的可能的相关事件都在这下面。鼠标事件(MouseEvent)、KeyEvent(键盘事件)等等。通过这些事件,你可以调用其他函数,并完成其他功能(比如绘图、弹出提示框、跳转到其他页面等等等等)。“事件”对于wxPython很重要,因为它是“事件驱动型GUI”(这部分你不理解就不理解吧,呵呵,记住就行了,然后在开发中慢慢理解)。
Inspector下面的Objs属性页给出一个树状结构,告诉你什么包含什么,你可以选择其中的一个(比如Frame1),然后查看它对应的Constr/Props/Evts。
3、下面让我们来添加一个按钮。点击最上面Palette中的Buttons,选择第一个图标wx.Button,按下,然后在Frame中的Panel中按下,看到Button1了吧。
然后我们可以修改其对应的各种属性。包括大小、位置、显示文字、样式等等。在什么地方改?刚才不是告诉你了吗?在左侧的Inspector下面改。
为什么Boa Constructor大家都感觉很容易呢?因为有些东西是可以直接拖拽所见即所得的。比如你可以试着直接用鼠标改变按钮的大小和位置
其他控件也基本类似,你可以试着添加各种各样的控件进去。其实Boa Constructor不包括所有wxPython中的控件,但是它包括了基本、普通、平常、我们大家会用到的控件。所以我们可以通过Boa Constructor来入门wxPython。
4、让我们添加一个事件(Event)。还记得我说过“事件驱动型GUI”吗?让我们“驱动”一下我们的程序吧。
点击选中Button,在左侧的Inspector的Evts下面单击ButtonEvent,右侧出现wx.EVT_BUTTON,双击之,在下面出现一个wx.EVT_BUTTON――OnButton1Button。好了,点击上面的“对号”。
保存源文件。在源文件(Source面板下面)的最下方你能看到形如:
def OnButton1Button(self, event):
event.Skip()这样的东东。在event.Skip()前面添加你想要的代码吧,比如:print u'haha',或者弹出一个提示面板:
dlg = wx.MessageDialog(self, u'yes',
u'You got it~',
wx.OK | wx.ICON_INFORMATION
)
dlg.ShowModal()
dlg.Destroy()或者任何代码。
(event.skip()表示将事件向下传递,你就别删它就行了)
(我上面的弹出窗口代码其实也可以用Boa Constructor来创建一个wx.Dialog然后再调用之,但是我没有这么做,因为我觉得这样更方便。你以后也会发现更方便的一些东西,然后你会逐渐的跳出Boa Constructor了…………当然你跳不出wxPython的怀抱,呵呵)
5、好了,万事大吉了!点击Editor页面下的Run Applictaion图标或者按下F9吧。运行下你的程序。当然,你必须在app为所选页面时才能运行程序。因为app是程序,frame不是。
6、接下来我们可以添加其他frame,添加其他控件,添加其他module(模块),下面的路你自己走吧……
(我有个小建议,你试着去看一下Boa constructor的英文帮助,没有害处)
目前我发现的Boa contructor会出现的问题:
1、有时候Boa constructor会挂掉,只能强行关闭。通常这种情况都是程序有错误所造成的。 这个不能怪Boa constructor,你在IDLE中运行这些程序,也会假死。 有时候我也只能在命令行窗口中运行。
2、Boa constructor不能实时刷新,我们必须点击刷新或提交按钮才能看到改动。 是的,就是这样。所以不要试图一次添加所有你能想到的东西,试着分几次来添加。
3、中文目录的问题。 源程序文件无法运行、保存、
花絮:作者Riaan Booysen很厉害的说,有一次我去看wxPython的源代码,发现也有他的大名。
高级:如果你自认为wxPython高手,那么基本上就告别Boa constructor了。不过从Boa constructor起步还是很不错的,是不是?
12:59浏览 (560)评论 (1)分类: python相关推荐评论
1 楼 lyhapple 2009-04-18 回复
我在此版本发现的问题:1. 中文界面总出问题,总是有ERROR框弹出,换成英文界面就解决了.
2. 使用Frame Designer时,在Frame中添加颜色和字体选择器后.点颜色或字体选择器时,总出现'NoneType' object has no attribute 'GetTip'...可能和我用的wxPython版本有关,我用的是2.8.9.1版,是否属于版本问题还有待查证.
3. 使用Source编写代码时没有提示,在打出'.'之后,没有方法或属性提示,这点是很不爽的.不知道有没有解决办法.
总体来说.使用BOA做界面还是可以的.比自己一行行的打出来要快的多.
发表评论
-
js繁简转换代码
2012-01-20 12:07 623js繁简转换代码 2012年01月10日 ... -
仙剑三之理科版
2012-01-20 12:07 739仙剑三之理科版 2011年09月30日 重要提醒:系统检 ... -
Running as a Windows Service
2012-01-20 12:07 696Running as a Windows Service 2 ... -
求助啊,各位(已经更新问题视频)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2012-01-20 12:07 772求助啊,各位(已经更新问题视频)~~~~~~~~~~~~~~~ ... -
凹凸图和法线图的区别
2012-01-19 16:54 1092凹凸图和法线图的区别 ... -
GPU通用计算(GPGPU)――将图形处理器用于高性能计算领域
2012-01-19 16:54 857GPU通用计算(GPGPU)――将图形处理器用于高性能计算领域 ... -
Autodesk Mudbox
2012-01-19 16:54 721Autodesk Mudbox 2011年01月19 ... -
工作站电脑配件详解(仅以45纳米双路四核至强及NV Quadro FX图形卡为例,还有价格):
2012-01-19 16:54 1592工作站电脑配件详解(仅以45纳米双路四核至强及NV Quadr ... -
Pro/E 或是UG
2012-01-19 16:54 7644Pro/E 或是UG 2011年05月21 ... -
我的电脑
2012-01-17 06:39 684我的电脑 2011年11月28日 电脑型号 映泰 N6 ... -
八核FX-8120报1880元 AMD旗舰CPU开卖
2012-01-17 06:39 13八核FX-8120报1880元 AMD旗舰CPU开卖 201 ... -
我的电脑配置
2012-01-17 06:39 608我的电脑配置 2011年12月02日 --------[ ... -
2011-12-8
2012-01-17 06:39 6962011-12-8 2011年12月08日 ... -
yum install lamp
2012-01-17 06:39 703yum install lamp 2011年12月11日 ... -
桌面播放器教程
2012-01-16 05:20 695桌面播放器教程 2011年12月21日 桌面播放器教程 ... -
设为主页代码及添加到收藏夹代码大全
2012-01-16 05:20 781设为主页代码及添加到 ... -
VB钓鱼
2012-01-16 05:20 681VB钓鱼 2010年04月08日 Private Sub ... -
VB 获取 Internet Explorer_Server 里面的内容
2012-01-16 05:20 1396VB 获取 Internet Explorer_Server ...
相关推荐
BOA Constructor是Python 下用GTK进行图形编程的软件,界面很象Delphi. Getting Started Guide for boa Constructor boa constructor 教程
boa-constructor-0.6.1. for python2.5 支持拖拽的ui IDE
boa-constructor 基于wxPython and Python 的GUI构建器
Boa-constructor 是一个很好的wxpython gui设计软件
boa-constructor-0.6.1.bin.setup 这是WINDOWS安装版本。也是最新的。不容易找啊。 这是第一个包
boa-constructor-0.6.1.src.win32.exe
boa-constructor-0.6.1.bin.setup
boa-constructor-0.4.4.win32 for python2.3.X wxpython 2.5.4.1
用于wxPython的RAD GUI构建IDE。
使用BOA Constructor開啟MainApp.py就可以管理計算機的視窗專案。 工具:BOA Constructor 利用Python的數學運算能力結合GUI介面的多功能計算機
知道了wxPython的class便可以开始设计GUI界面,但手工写代码设计界面太繁琐,因此wxFormBuilder应运而生,这是一款能够可视化设计界面的工具(并不是唯一工具,还有wxGlade、Boa Constructor等),通过该工具设计GUI...
使用 python 开发 windows 应用程序 本人以前一直用的是C++,MFC,毕业到了公司以后,公司用python做流程,我 顺便最近研究了一下用python开发 windows 应用程序的整个流程,大体如下: 一、开发前期准备 1.boa-...
GUI模块,有个开源的可视化编程工具 boa-constructor 需要另外下载
用python开发windows应用程序 本人以前一直用的是C++,MFC,毕业到了公司以后,公司用python做流程,我顺便最 近研究了一下用python开发 windows应用程序的整个流程,大体如下: 一、开发前期准备 1.boa-constructor-...
python27下开发软件,包含wxpython,boa-constructor,py2exe,python27
2. BOA Constructor Python設定檔介面程式設計 這段程式碼主要是把資料儲存到config.txt這個檔案中,我們將資料以 \n[_config_]\n 來作區隔,以便將來將資料讀出來時可以知道所存放的資料到底是屬於哪一各部分的...
传统但功能强大的跨平台计算器。 它是用python编写的,并且使用wxWidgets作为GUI(项目是用Boa Constructor开发的)。 通过使用SciPy,vaCalculator可以求解线性系统,使用多项式进行数学运算,积分等。
BZFlag游戏的实用程序(http://www.bzflag.org),可以管理游戏的多个配置文件(身份)和配置。 该软件已使用Boa Constructor IDE以Python语言编写,并使用wxPython for UI。
# created with the Boa Constructor which generates all the GUI components # all I had to do is add some code for each button click event # Boa free from: http://boa-constructor.sourceforge.net/ # note...
236 第14章 CORBA 237 14.1 CORBA的需求 237 14.2 CORBA的架构 237 14.2.1 IDL 239 14.2.2 ORB 240 14.2.3 IIOP 241 14.2.4 BOA 241 14.3 CORBA服务 241 14.4 创建CORBA应用 243 14.5 CORBA与RMI 246 14.5.1 CORBA和...