-

通过手动编码创建一个好看的GUI可能是乏味的。视觉GUI设计器工具总是很方便。许多针对wxPython的GUI开发IDE可用。以下是其中的一些 -

wxFormBuilder是一个开源的,跨平台的所见即所得GUI创建器,可以将wxWidget GUI设计转换为C ++,Python,PHP或XML格式。这里给出了wxFormBuilder的使用简要介绍。

首先需要从http://sourceforge.net/projects/wxformbuilder/下载并安装wxFormBuilder的最新版本在开放申请时,会出现一个新的项目,空白的灰色区域在中心。

给项目一个合适的名称,并选择Python作为代码生成语言。这在对象属性窗口中完成,如下图所示 -

对象属性

然后从组件调色板的“表单”选项卡中选择“框架”。

选择框架

从“布局”选项卡添加一个垂直的wxBoxSizer。

添加wxBoxSizer

使用适当的标题在Box中添加必要的控件。这里添加一个StaticText(label),两个TextCtrl对象(文本框)和一个wxButton对象。框架看起来像以下图像 -

添加控件

在这三个控件上启用展开和拉伸。在wxButton对象的对象属性中,将一个函数findingquare()分配给OnButtonClick事件。

三控制

保存项目并按F8生成用于开发GUI的Python代码。让生成的文件命名为Demo.py

在可执行Python脚本中,导入demo.py并定义FindSquare()函数。声明Application对象并启动一个主事件循环。以下是可执行代码 -

import wx 
  
#import the newly created GUI file 
import demo  
class CalcFrame(demo.MyFrame1): 
   def __init__(self,parent): 
      demo.MyFrame1.__init__(self,parent)  
		
   def FindSquare(self,event): 
      num = int(self.m_textCtrl1.GetValue()) 
      self.m_textCtrl2.SetValue (str(num*num)) 
        
app = wx.App(False) 
frame = CalcFrame(None) 
frame.Show(True) 
#start the applications 
app.MainLoop() 

上述代码产生以下输出 -

GUI Builder输出