Python的可视化编程工具wxglade是一个用python实现的wxwidgets的界面设计工具,使用wxPython搞开发时,做界面一般都是wxGlade,以前我只用过wxWidgets+wxFormBuilder的组合,感觉wxPython+wxGlade确实效率更高些,当然这受益于python语言的简洁易用。
wxGlade 启动以后默认产生三个窗口, 下面的这个窗口是它的工具栏窗口,你可以看到可以wxglage可以使用的各种控件类型,树状列表窗口显示当前已经添加进去的各种可视化控件以及它们的继 承关系.属性窗口则显示当前活动控件的各种属性,其中根节点Application则让你控制和全局相关的一些选项和操作.
wxGlade 使用的GUI框架是 wxPython。
wxglade布局的使用教程:
wxGlade是wxWidgets及wxPython的界面设计工具。
wxGlade使用的是基于Sizer的界面布局器,与Delphi的位置大小布局完全不同。
其中有关布局的控件属性都在Layout属性页上设定,即当前控件在Sizer中用于定位的一些参数。
具体地wxglade参数:
Pos :当前控件在Sizer中所处的位置,数字越小越靠前。
Option :这个属性现在在wxWidget中叫做proportion,负责控制当前控件在当前Sizer中所占用的空间大小:如果取值为0时,当前控件多大,那么 Sizer中对应的格子也多大;如果取值为非零的值,那么该Sizer中所有取值大于0的格子之间以wxglade参数:proportion的取值作为其大小的比例。比如 Sizer中有4个格子,proportion分别取值为1、0、2、3,那么其第1、3、4个格其长/宽的大小比例就是1:2:3,第2个格子的大小则 根据里面放的控件的大小来决定。
Border :当前控件放在Sizer中时周围空多少像素,wxGlade的参数设置中有一个选项是将所有的控件的Border值都默认置为3,通常3个像素也是比较不错的一个取值。
wxALL :如果选中则四边都保留Border所指定的空间。
wxLEFT :如果选中则控件左侧保留Border所指定的空间。
wxRIGHT :如果选中则控件右侧保留Border所指定的空间。
wxTOP :如果选中则控件上方保留Border所指定的空间。
wxBOTTOM:如果选中则控件下方保留Border所指定的空间。
wxEXPAND:如果选中则控件占据所有所在Sizer格子分配给的空间。
wxALIGN_RIGHT :如果选中则控件在所在Sizer格子中右对齐,否则左对齐。
wxALIGN_BOTTOM:如果选中则控件在所在Sizer格子中向下对齐,否则向上方对齐。
wxALIGN_CENTER_HORIZONTAL:如果选中则控件在Sizer所分配的格子里水平居中。
wxALIGN_CENTER_VERTICAL:如果选中则控件在Sizer所分配的格子里垂直居中。
wxSHAPED :如果选中则控件占据全部Sizer格子提供的空间,并且在扩展控件大小的时候保持长宽比例。
wxADJUST_MINSIZE :可能是让控件随着控件中内容的变化自动改变最适合其内容的控件最小大小。
wxFIXED_MINSIZE :通常控件会根据其中的内容自动确定一个适合的控件最小的大小,选中此选项将让此最小大小固定下来,不再随着控件中内容的变化而改变。
几点使用体会:
1)wxGlade自动生成的代码可以和自己写的代码和平共处。在使用wxFormBuilder时,除了生成界面代码,还要生成派生类代码,这样界面代码不需要做任何修改,自己的代码直接写在派生类中。这种方法比较面向对象了,但是缺点是派生类代码生成后如果要改变,就必须合并自己写的代码。而wxGlade生成的界面代码可以往里面添加自己的代码,界面改变后重新生成代码并不会删除你自己的代码。这主要靠代码中的一些wxGlade标记注释实现。比如# begin wxGlade: MainFrame.__init__和# end wxGlade之间的代码是wxGlade生成的,你不能在这里面加代码,否则会被覆盖掉,但在外面加就没问题了。
2)使用方式方面wxGlade和wxFormBuilder基本差不多。都支持自定义控件。不过wxFormBuilder需要填自定义控件的构造等,而wxGlade只要填一个类名。使用是简单了,但是没法自己写构造函数,比如我使用了一个wx.gizmos.TreeListCtrl,构造时想加入一些style是不行了。另外,wxGlade也不支持wxAUI,还是很遗憾的。
3)wxGlade的菜单和工具条编辑器不能使用wxArt提供的图片,只能使用外部载入的图片。
4)wxGlade不能自动生成id的define,我只能填一个数,不过在菜单上可以填-1,因为事件绑定是使用名字,而工具条就不行了,只能填数了。不过wxPython的事件绑定使用方式和wxWidgets不太一样,wxFormBuilder是自动生成id的define的,事件通过id绑定,工具条和菜单使用同一id即可关联。而wxPython+wxGlade时,我是通过填入相同的事件处理器来完成。不过他们都没有SWT的菜单和工具条关联的机制方便~ SWT很久没用了,依稀记得只要定义action即可
5)Layout编辑还OK,wxGlade还可以更换sizer的类型,貌似wxFormBuilder不行
同类佳作
-
- ultraEdit v27.10.0.132 中文版 下载
- 1.6万 | 92.4 MB
- 一个功能强大的基于磁盘的文本
-
- 源码智造编辑器 V1.0.0 电脑版 下载
- 8.4万 | 117.5 MB
- 是一款适合青少年使用的编程学
-
- BabelEdit(json翻译编辑器) V1.9.0 电脑版 下载
- 6.3万 | 33.2 MB
- 是一款强大的Json在线翻译编辑
-
- Textadept(文本编辑工具) V10.1 电脑版 下载
- 4.7万 | 15.8 MB
- 是一款专为编程用户设计的非常
-
- 易联POST调试工具 V2.17 电脑版 下载
- 1.万 | 1.5 MB
- 是一款简单以及方便的调试工具
-
- Rapid PHP editor(PHP编辑器) V15.0 电脑破解版 下载
- 8.9万 | 63.2 MB
- 是一款功能非常全面的php代码
-
- JAR Compare(Jar比较分析工具) V1.0 电脑版 下载
- 6.1万 | 501.4 KB
- 是一款非常实用的Jar比较分析
-
- python Tkinter GUI可视化助手 V0.2 电脑版 下载
- 8.3万 | 1.1 MB
- 是一款绿色功能实用的PythonT
近期新游
精选专题
话题问答
- 2022-06-24金铲铲之战驯龙敖兴阵容玩法攻略
- 2022-06-24金铲铲之战九星界龙阵容玩法攻略
- 2022-06-24金铲铲之战重骑熊阵容玩法攻略
- 2022-06-24原神久岐忍邀约任务攻略
- 2022-06-26数码宝贝新世纪番长飞虫兽天赋加点推荐
- 2022-06-24阴阳师百鬼乱狱第四关通关攻略
- 2022-06-24王者荣耀戈娅玩法攻略
- 2022-06-26金铲铲之战s7泥头车阵容攻略
- 2022-06-24堆叠大陆第三章玩法攻略
- 2022-06-23哈利波特魔法觉醒染发魔药制作攻略
火爆专区
最新资讯
-
- 《使命召唤:战区》玩家发现Steam版性能不如战网版
- 882024-11-24
-
- 《Idle Sphere》Steam免费发布 创意幻想球体冒险
- 2522024-11-24
-
- 绝世美人!《真三国无双:起源》第46名武将:貂蝉
- 232024-11-24
-
- 《恐怖惊魂夜×3》全平台七折优惠 恐怖视觉互动名作
- 2342024-11-24
-
- 拉瑞安发行总监:《潜行者2》热卖证明玩家需求已转变
- 1342024-11-24
-
- 哥特式黑暗一战TPS《Trench Tales》11分钟实机
- 1682024-11-24
-
- 《过山车大亨:经典版》12月5日登陆Switch平台
- 522024-11-24
-
- 露玛岛修改器下载地址在哪
- 1402024-11-24