首页 > 编程学习 > wxPython系列二借助wxFormBuiler来编写一个简单的文本编辑器

简介

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")
欢迎大家前来交流

本文链接:https://www.ngui.cc/el/3376936.html
Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000