绿色免费的GUI界面编辑器你想要吗,快下载wxFormBuilder绿色版试试吧,它是一款安全无毒的界面编辑设计工具,它可用于生成跨平台编译代码,可以快速搭建GUI开发环境,并且还支持快速生成C++,python, Lua等代码和XRC资源文件,使用它即可让你轻松的搭建高效的带有GUI界面编辑器的开发环境哦,有这方面需求的相关人士赶紧来下载wxFormBuilder免费版开始使用吧。
使用说明
准备一份表格。
单击wxformbuilder上方的“表单”选项卡,然后单击选项卡下方的第一个图标状图标“框架”。
然后,下面会出现一个表格。但是现在你无法直接向表单添加各种控件。我们还需要在表单中添加一个layouter BoxSizer。
添加一个布局器
单击wxformbuilder上方的“Layout”选项卡,然后单击选项卡下方的第一个图标“wxBoxSizer”。添加仅具有列控件布局的布局器。此时,表单上没有任何变化。但是窗口左侧的目录树已经更改,表单下有一个更多的布局工具。
放置控制
保持目录树如上所示,然后选择布局工具bSizer1。这样,添加到表单的控件属于并使用此layoutr的方法,单列布局。也就是说,添加的所有控件都在一列中。
单击wxformbuilder上方的“Common”选项卡,然后单击选项卡下方的三个图标“wxStaticText”,第四个图标“wxTextCtrl”,第一个图标“wxButton”。这样,表单设置上还会有一个。文本标签,文本框和按钮。
修改控件属性
单击设计窗体上的控件或左侧树结构上的控件名称。 wxformbuilder右侧的编辑栏将自动成为相应控件的属性编辑。在这里,你可以修改控件和表单的各种属性。
在这里,我们将修改主窗体的名称,文本编辑框的名称,文本标签的标签以及按钮的标签。
修改主窗体的名称
主窗体的名称和控件的名称确定要在以后使用python代码时要使用的实体对象的变量名称。单击树结构中的MyFrame1,然后在右侧的属性编辑栏中将表单名称修改为“BaseMainWind”。
此时,左侧树中相应的主窗体也将更改名称。
修改控件的属性
以同样的方式,在右侧的编辑框中修改相应控件的属性。
文本编辑框wxTextCtrl的name属性更改为“text_main”,文本标签wxStaticText的label属性更改为“main window test”,按钮wxButton的label属性更改为“clear”,并且按钮wxButton的name属性更改为“button_main”。
我离开了name属性的懒惰属性,我懒得改变它。最好直接使用默认值。
添加控件的触发器功能
按下按钮时,我们应该触发一个函数来清空文本框的内容。因此,你应该在按下触发器后应该使用的按钮控件中添加一个处理程序。
单击按钮控件button_main,在右侧的属性编辑框中,单击上面的其他选项卡“事件”。将处理程序名称添加到“OnButtonClick”:main_button_click
测试表单的内容。
表单设计基本完成,现在让我们测试表单。按F5,弹出对话框,单击“确定”。通过这种方式,wxformbuilder只为我们设计的表单编译C ++显示方法,显示表单的外观。
由于我们没有制作主窗口的大小,我们没有拖动窗口。因此,直接应用默认值是一个适合控件布局大小的窗口。但是,它并不妨碍我们进行测试。
保存python的代码。
单击以选中左侧树的顶部图标以选择项目。
然后单击底部选项卡中的python以获取wxPython代码。
此时,选择上面的代码。右键单击,[复制]。
创建一个新的py源文件并将所有代码粘贴到其中,保存名为basewin.py的python代码源文件。
此时,已生成wxPython代码,请不要轻易更改文件中的代码。下面是我们称之为表单的主要逻辑代码。
编辑逻辑代码
将逻辑代码保存为main_win.py
#!/usr/bin/env python# -*- coding: utf-8 -*-import wximport basewin# 首先,那么从刚刚源文件中将主窗体继承下来,就是修改过name属性的主窗体咯。class MianWindow(basewin.baseMainWindow):
# 我们给个初始化函数,将文本框初始填有‘主窗口测试’几个字
# 不可以直接覆盖原有__ini__方法,这样会导致窗体启动失败。我们新建一个,然后再调用
def init_main_window(self):
self.text_main.SetValue('主窗口测试')
# 将点击按钮清空文本框的,功能写成函数
def main_button_click(self, event):
self.text_main.Clear()if __name__ == '__main__':
app = wx.App()
# None表示的是此窗口没有上级父窗体。如果有,就直接在父窗体代码调用的时候填入‘self’即可。
main_win = MianWindow(None)
main_win.init_main_window()
main_win.Show()
app.MainLoop()
将上面的逻辑代码保存为main_win.py,并且与刚刚生成那个basewin.py,共同放在同一个目录里,然后给main_win.py可执行的权限。
chmod +x main_win.py
./main_win.py
最后就可以运行界面了,试试点击哪个【清空】按钮。是不是输入框里的文字消失了呢。