`
shake863
  • 浏览: 664819 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

BOA constructor

阅读更多
我用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起步还是很不错的,是不是?
分享到:
评论
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做界面还是可以的.比自己一行行的打出来要快的多.

相关推荐

    boa.rar_Boa Construct_boa_boa constructor_boa constructor chm_bo

    在标题"boa.rar_Boa_Construct_boa_boa constructor_boa constructor chm_bo"中,我们可以看到关键词"Boa Constructor"和"boa constructor chm",这表明压缩包可能包含了Boa Constructor的安装文件或文档,如CHM...

    BOA Constructor 教程

    BOA Constructor是Python 下用GTK进行图形编程的软件,界面很象Delphi. Getting Started Guide for boa Constructor boa constructor 教程

    boa-constructor-0.6.1. for python2.5

    "boa-constructor-0.6.1 for Python2.5" 是一个专为Python 2.5版本设计的集成开发环境(IDE),主要用于图形化构建应用程序的用户界面(UI)。Boa Constructor是一款开源软件,它提供了对Python程序员来说非常友好的...

    Boa Constructor - wxPython GUI Builder-开源

    **Boa Constructor - wxPython GUI Builder** Boa Constructor是一款基于wxPython库的开源图形用户界面(GUI)构建器,专为简化和加速Python应用程序的开发而设计。它提供了一个可视化的编程环境,允许开发者通过...

    boa-constructor入门介绍

    boa-constructor是一款基于Python语言,使用wxPython库构建图形用户界面(GUI)的应用程序开发工具。它为非专业程序员提供了一种直观、易用的可视化界面来设计和编写GUI程序,降低了开发复杂度,尤其适合初学者入门...

    boa-constructor-0.6.1.src.win32

    boa-constructor-0.6.1.src.win32.exe

    boa-constructor-0.6.1.bin

    boa-constructor-0.6.1.bin.setup

    boa-constructor-0.6.1.bin.setup

    boa-constructor-0.6.1.bin.setup 这是WINDOWS安装版本。也是最新的。不容易找啊。 这是第一个包

    Python_Calculator.rar_boa_gui py_py gui_python boa_python calcul

    标题中的“Python_Calculator.rar_boa_gui py_py gui_python boa_python calcul”表明这是一个使用Python编程语言构建的计算器应用,其界面是通过GUI(图形用户界面)实现的,特别是使用了BOA Constructor这一工具。...

    使用python开发windows桌面程序.pdf

    标题所述的“使用Python开发Windows桌面程序”涉及多个关键技术点,包括Python语言、wxPython库、Boa Constructor IDE以及py2exe打包工具。以下是对这些关键知识点的详细说明: 1. Python语言: Python是一种高级...

    boa-constructor-0.4.4.win32

    boa-constructor-0.4.4.win32 for python2.3.X wxpython 2.5.4.1

    使-用python开发windows应用程序.doc

    与其他IDE不同,Boa Constructor的MainLoop设计不会与Python解释器的MainLoop发生冲突,避免了可能导致IDE崩溃的问题。 3. **py2exe**: py2exe是一个用于Python的第三方工具,它可以将Python源代码转换为Windows...

    使用-python-开发-windows-桌面程序.doc

    1. **BOA Constructor** - 这是一个基于wxWidgets的集成开发环境(IDE),用于Python GUI应用的开发。它允许用户通过拖放方式创建和设计界面,类似于Delphi,而且避免了与其他IDE的MainLoop冲突问题。 2. **wxPython...

    使_用python开发windows应用程序.pdf

    标题和描述都提到了使用Python开发Windows应用程序,主要涉及了几个关键工具和步骤:Boa Constructor作为集成开发环境,wxPython作为GUI库,以及py2exe用于打包为可执行文件。以下是这些知识点的详细说明: 1. **...

    使用python开发windows桌面程序(20211109020918).pdf

    Boa Constructor是一个基于wxWidgets的集成开发环境(IDE),特别适合于新手,因为它允许通过拖放的方式设计界面,减少了手动编写UI代码的工作量。wxPython是Python的一个GUI库,它实现了wxWidgets库,提供了与各种...

    使用python开发windows桌面程序参考.pdf

    描述中提到了在Python环境下开发此类程序所需的几个关键工具,包括Boa Constructor(一个基于wxWidgets的集成开发环境)、wxPython(提供C++编写的Windows组件库)和py2exe(用于将Python程序打包成可执行文件的工具...

    使_用python开发windows应用程序参考.pdf

    3. **BOA Constructor**: BOA Constructor是一个集成开发环境(IDE),专门用于wxPython的开发。它允许用户通过拖放方式设计界面,自动生成对应的Python代码,简化了GUI的开发过程。BOA Constructor的一个优点是它...

    python 打字测速程序(源码)

    Boa Constructor是另一个关键组件,它是一个基于wxPython的可视化GUI构建工具,版本0.6.1。Boa Constructor为初学者提供了一个友好的环境,用于设计和构建GUI应用程序,无需编写大量的底层代码。它支持事件处理,...

    boa-constructo.rar

    boa-constructo是一款针对Python开发者的集成开发环境(IDE),其名称 boa-constructor 可能源于 boa(一种Python编写的对象脚本语言)与 constructor(构造器)的结合,意在强调它对于构建Python应用程序的强大支持...

Global site tag (gtag.js) - Google Analytics