Python中的GUI(WxFormBuilder)


スクリーンショット 2018-02-16 15.01.02.png

有许多用于Python的GUI创建工具,但大多数使用WxPython,就许可证而言,它很容易使用。
但是,不建议直接编写代码,因为这会花费很多时间。
推荐使用WxFormBuilder,因为这样的代码状态可以以一种易于理解的方式进行编辑,并且可以免费使用。

多平台

在Windows,MacOS和Linux上运行的多平台RAD工具。
这次我使用的是Mac版本,但我认为其他平台上的操作几乎相同。

由于不包含

代码编辑功能,因此基本上与其他编辑器结合使用。

下载并安装

在GitHub上选择已发布的版本。

单击官方页面上的GitHub Releases下载适用于您平台的应用程序。
https://github.com/wxFormBuilder/wxFormBuilder

スクリーンショット 2018-02-16 13.15.42.png

基本用法

启动时,将显示以下屏幕。 (尽管根据环境而有所不同)

スクリーンショット 2018-02-16 13.27.57.png

粘贴表格

现在,让我们粘贴基本表单。在"组件面板"中选择"表单"选项卡,然后单击出现的图标的最左侧。

スクリーンショット_2018-02-16_13_29_362.png

Sizer

即使粘贴

表单,也无法原样放置按钮等。让我们粘贴大小调整器。
Sizer是一个对象,用于确定在屏幕上的位置以及如何粘贴内容。
由于其规格,Wx无法自由粘贴Visual Stuido等对象。
它可能类似于Word,但其中充满了Sizers,非常混乱。

スクリーンショット_2018-02-16_13_37_16.png

我将尝试添加另一个Sizer。
确保Sizer位于Sizer内部。

スクリーンショット 2018-02-16 13.43.02.png

然后,让我们在内部Sizer中放置三个按钮。
在"组件面板"中"公用"的最左端有一个按钮工具,因此请单击三次。
我认为三个按钮垂直排列。

スクリーンショット 2018-02-16 13.44.08.png

让我们并列一下。

从对象树中单击" bSizer2",然后将右侧"属性"选项卡上的orient项目更改为wxHORIZONTAL。
我认为按钮是并排的。
通过安排大小调整器并以此方式更改大小调整器的属性来指定布局是基本的。

スクリーンショット_2018-02-16_13_45_392.png

设置事件

从ObjectTree或Editor中选择一个按钮,选择Events选项卡,双击OnButtonClick字符,或直接输入事件名称以生成事件。
您可以根据需要更改事件的名称,但是这次我们将其保持不变。

スクリーンショット_2018-02-16_13_49_512.png

保存一次

将其保存在适当的位置。

输出

关于文件

我从WxFormBuilder编写了一个Python文件,但是那时我输出了两个类文件。

上框

父框架类是保存由W??xFormBuilder创建的布局本身的类。
如果WxFormBuilder中有任何更改,则该类的所有内容将被覆盖。
因此,请勿在此类中手写任何内容。

子架类

子框架类是继承父类的类。
在大多数情况下,WxFormBuilder仅是第一次导出,因此请在此类中编写按钮行为和其他内容。
即使WxFormBuilder发生了更改,也可以直接使用此类,而无需重写,除非输入了删除按钮之类的操作。

指定使用

的语言

Wx还支持Python以外的其他语言。
标准是C,因此将其更改为Python。
从对象树中选择"我的项目1",在对象属性中找到名为code_generation的项目,单击那里的三角形将其展开,取消选中C并选中Python。

スクリーンショット_2018-02-16_14_07_382.png

父表单类

的文件名

从对象树中选择"我的项目1",然后从对象属性中为文件项指定一个适当的名称。
我将其添加为"我的班级"。

导出父框架类

菜单中,文件-