简介
wxFormBuilder是一款基于wxWidgets的GUI可视化编辑工具,可用于Python的GUI设计。
wxFormBuilder项目GitHUb:www.wxformbuilder.org/
下载地址:wxFormBuilder_win32.zip
wxFormBuilder的使用
一、打开wxFormBuilder
界面主要分为四大区:项目区Object Tree、控件区Component Palette、编辑区Editor、属性区Object Properties。
在控件区里点击添加需要的控件,这些控件的效果会在编辑区里实时显示,并在属性区显示这些控件的属性,项目区用于显示控件间的层级关系。
二、创建一个GUI的基础框架
从控件区里的Forms中添加一个Frame,这是GUI的轮廓基础:
三、在Frame下添加一个Layout中的wxBoxSizer
后续所有控件均是放在wxBoxSizer里的。如果你觉得单个wxBoxSizer里的控件布局太单调,你可以嵌套使用wxBoxSizer,这是实现GUI界面控件布局多样化的关键。本次的文本编辑器就嵌套了wxBoxSizer,需要在第一个wxBoxSizer中再添加一个wxBoxSizer。
接下来在右侧的属性区修改其相关的属性,将bSizer2的orient改为wxHORIZONTZL,proportion改为0。
这样bSizer2中的控件就变成水平排列的了,而且bSizer2在bSizer1中的比例为保持bSizer2中的控件大小,具体的效果会在后面显示出来:
四、在bSizer2中添加Common中的1个wxTextCtrl,2个wxButton
现在就能看到第三步中对bSizer2的orient和proportion属性设置的效果了,三个控件依次水平排列,且整个bSizer2的高度是与其中控件高度有关的。
接下来分别修改m_textCtrl1、m_button和m_button2的属性,将其name依次改名为text1、btn1和btn2,并且将textCtrl的proportion改为1,两个button的label改为“打开”和“保存”,最终效果为:
五、添加wxTextCtrl
在bSizer1下再添加一个wxTextCtrl,并将name修改为content,proportion改为1,flag下勾选wx.EXPAND,其效果为:
flag=wx.EXAPND和proportion=1的作用是将wxTextCtrl填充满整个空间。
然后点击Editor下的Python标签,就能看到UI对应的源码了,复制到pycharm中,进行下一步修改。
在python中添加下列代码,并运行。
if __name__ == '__main__':app = wx.App()frame = MyFrame1(None)frame.Show()app.MainLoop()
现在一个简单的文本编辑器的外形我们已经搭建好了,但是现在只是一个外表好看没啥用的GUI,下一篇文章我们将给部件加上一些动作,让这个文本编辑器能够保持打开文件。
console.log("公众号:虫术")
console.log("wx:spiderskill")
欢迎大家前来交流