一、安装
安装很简单,找个与python一样的版本就行,无须特别处理。
二、概述
Visualwx是wxpython的一个可视化工具,核心的东西是wxpython,但Visualwx还是一个很好的工具,但主要问题是我连一个帮助的文档都没找到,只好瞎整,因此,我就详细说说。
三、功能介绍
先看看Visualwx的整体界面,如下图:
重点包括几个部分:
菜单:经典的Windows菜单,就那么些功能,反正几乎不用,就有个find/replace的菜单项好使。
工具栏:就一些按钮,这些按钮在菜单中也都有,只是方便,一般就用一个运行(绿色图标的那个按钮),还有打开、保存这两个图标,这个人就不用介绍了,地球人都知道。
左上方的控件选项:所有控件都在这儿,看你需要什么样子的。
左下方的属性控制:控件的属性表,长、短、字体、图标等。
中间偏上的界面设计:也就是工作区,注意下面有两块:Design和Python,具体内容,稍后介绍。
中间偏下的运行记录:废物一个,连运行时错在什么地方,都不提示,这一点与eclipses相比,真是差远了,所以,迫不得已,只能开得DOS界面,进入工程所在的目录,然后python app.py,这样就相当于运行工程,在DOS界面中就会保留错误的提示。
右上方的工程菜单控制:主要是一个工程的组织。
右下方的属性显示:当你选中某一控件时,这里会显示控件的长、宽、位置。
打开Visualwx的第一件事就是建立工程,会弹出对话让你选择类型,针对Wxpython主要有:wx_SDI_python和wx_SDI_python_menu,一个有标准的菜单,另一个没有,此外,还有其它类型,试试看就知道;通常工程包括这些文件:
1、 app.py,这是主程序的文件,在Visualwx中运行工程时,实际上是运行app.py这一文件。
2、MyFrame.py,窗体的文件,如果你多建立了一个窗口,就多一个文件。
3、VwXComponent.py,这是关于组件的文件。
4、Project.pbc,Project.pbc.bak这两个文件是工程的索引。
5、MyFrame.pfr,MyFrame.pfr.bak这两个文件是可视化控件的存储文件,没有这两个文件,在工作过程中,我们是对控件可视化修改,这时Visualwx自动生成代码,并存放在MyFrame.py。
这几个文件在运行的过程中,实际上只有python文件(*.py)在起作用,运行时可将其它文件删除。
基本操作:
建完工程后,就可以开始建立界面。
1、左上方的控件菜单
通过这一菜单,可以将构建界面时所需要的控件拉到工作的窗口中。看看主要菜单:
Sizer:用于产生sizer的,选择所需要的Sizer,拖动窗体工作区中即可,类型选错也没关系,拖完后,在属性框中还可以改。此外,有一个Spacer可以用,是向sizer中加入空白的空间,相当于文字处理中的空格键了,通过控制空白空间的长、宽,可以达到控制布局的目的,有重要作用。
List:主要是针对有多个选项的项目,这些项目的用法简单,只要设置属性菜单中的List Item就行,可惜,TreeView、Listview、Grid不能用这种方法,所以现在,我还是没有搞出来,如Treeview中如何添加子项这一问题仍无法解决,如果有谁搞出来,多谢指教,联系我的邮箱。
Control:这些都是一些常见的控件了,选完后,设置属性表,就可以得到你想要的东西,至于哪个控件是什么样子,试一下不就知道。注意,如果Button Bitmap这一项,就必须设置属性表中的BMP Label这一项,否则无法运行。
Notebook: Notebook也是一个控件,添加时在添加子项后(也就是分页时),必须马上设置子项属性表中的“Text Tab”这一属性,也就是子项的标签,否则运行失败,这一点极其不可理喻。
ToolBar:包含有三个控件,其中ToolBar是加入整个工具条;ToolBar Tool相当于工具条的按钮,生成工具条之后,可以往工具条中加入ToolBar Tool,加完后得设置性性表中的Bitmap Tool这一属性,否则无法运行, ToolBar Separator是分隔符。
Panel: 包括几个容器式的控件,具体应用就看你的需求了,可以查看wx的demo,很形象,看看它们有什么不一样。
2、 左下方属性表
如上图所示,包括Properties、Events、Sizer、Code选项卡,前三个比较常用,分别说明如下:
Properties:选择一个控件后,会显示属性,控件类型不同属性的项目也会有所不同,但一些常用的项目还是相同,如Width,Heigth,Top等。
Events:主要是用来链接事件的,当你选中后,会有不同的函数出现,选中后,在Function中添入函数名,这样在代码框中就会有事件的定义出现,你补上事件的内容就行。
Sizer:下又有两个选项卡,Sizer Properties,Sizer Options。
Sizer Properties: Sizer中的控件或Sizer都有这一属性,Border是定义Sizer四周空格的多少,Align是对齐方式,Size是定义大小的,Position是定义控件在Sizer中的位置。
Sizer Options:只有在选中Sizer后,才可用,Rows Cols定义Sizer的行列数;Sizer type是定义Sizer的类型;Add Growable Rows/Cols是定义Sizer的增长方式,如当窗体扩大时,要将增长的部分分给哪一行,哪一列,或哪几行,哪几列,分的比例是多少,这一用法有重要的的作用,只有wxGridBagSizer的这一属性可用。
3、中间偏上的界面设计
分Design和Python两种模式,两种模式各有各的作用。
Design:是可视化的模式,可以直接控件的位置,大小,布局等。
Python:代码区,并不是所有代码都能修改的,因为界面的代码是由软件自动生成的,用户无权修改的,因此只有通过修改界面,让软件自己生成代码。下面就说说可以修改的几部分:1、import区,可以import要用到的模块。2、可以在def initBefore(),def initAfter中写代码,执行想完成的操作。3、函数区,也就是上面说到的,在属性表中有个Events这一选项卡,在添入函数名后,代码区会自动生成代码def name():,这样,就可以在下方定义函数要执行的内容。
4、右上方的工程菜单控制
主要是这两部分,Project,Menu。
Project:显示窗体中控件的组织结构,要选择某一控件,可以在这里选,还可以删除控件、添加窗体等操作。
Menu:右击后就一目了然,有Add Menu Bar,Add Menu,Add Item,Add Separators这四个子项,意思不用说了。