microsoftxiao

记忆 流逝

导航

可视化Python设计工具

boa-constructor-0.4.4.win32.exe 是一款帮助Python进行可视化设计的窗体设计器。
目前正在Alpha阶段,它简化了基于wxWindow的Python的窗体布局和设计。

如果您利用boa创建了一个基本的wx框架那么,改动少量的代码就可以进行可视化设计了。

[code]

import sys, os  
from   wxPython.wx import *

class main_window(wxFrame):
      def __init__(self, parent, id, title):
         wxFrame.__init__(self, parent, -1, title, size = (200, 100),          
         style=wxDEFAULT_FRAME_STYLE|wxNO_FULL_REPAINT_ON_RESIZE)
         self.control = wxTextCtrl(self, -1, style=wxTE_MULTILINE)
         self.Show(true)

    
class App(wxApp):
      def OnInit(self):
            frame = main_window(None, -1, "wxPython: (A Demonstration)")
            self.SetTopWindow(frame)
           
            return true
     
    
app = App(0)
app.MainLoop()
[/code]
以上代码是非boa的wx基本框架,您可以结合自动生成的来修改。

或者您简化下面的代码来得到您想要的最简的框架。
[code]
#Boa:Frame:Frame1
#-*-coding:gb2312-*-
import sys, os  
from   wxPython.wx import *

import wx
from wx.lib.anchors import LayoutAnchors

def create(parent):
  
    return Frame1(parent)

[wxID_FRAME1, wxID_FRAME1BUTTON1, wxID_FRAME1BUTTON2, wxID_FRAME1PANEL1,
 wxID_FRAME1STATICTEXT1, wxID_FRAME1STATICTEXT2, wxID_FRAME1STATICTEXT3,
 wxID_FRAME1STATICTEXT4, wxID_FRAME1TEXTCTRL1, wxID_FRAME1TEXTCTRL2,
 wxID_FRAME1TEXTCTRL3, wxID_FRAME1TEXTCTRL4,
] = [wx.NewId() for _init_ctrls in range(12)]

class Frame1(wx.Frame):
    def _init_ctrls(self, prnt):
        # generated method, don't edit
        wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt,
              pos=wx.Point(271, 171), size=wx.Size(400, 492),
              style=wx.DEFAULT_FRAME_STYLE, title=u'可视化 boa-construction Python工具')
        self.SetClientSize(wx.Size(392, 458))

        self.panel1 = wx.Panel(id=wxID_FRAME1PANEL1, name='panel1', parent=self,
              pos=wx.Point(0, 0), size=wx.Size(392, 458),
              style=wx.TAB_TRAVERSAL)

        self.staticText1 = wx.StaticText(id=wxID_FRAME1STATICTEXT1,
              label='staticText1', name='staticText1', parent=self.panel1,
              pos=wx.Point(16, 8), size=wx.Size(62, 14), style=0)

        self.textCtrl1 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL1, name='textCtrl1',
              parent=self.panel1, pos=wx.Point(112, 8), size=wx.Size(100, 22),
              style=0, value='textCtrl1')

        self.staticText2 = wx.StaticText(id=wxID_FRAME1STATICTEXT2,
              label='staticText2', name='staticText2', parent=self.panel1,
              pos=wx.Point(16, 40), size=wx.Size(62, 14), style=0)

        self.textCtrl2 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL2, name='textCtrl2',
              parent=self.panel1, pos=wx.Point(112, 40), size=wx.Size(100, 22),
              style=0, value='textCtrl2')

        self.staticText3 = wx.StaticText(id=wxID_FRAME1STATICTEXT3,
              label='staticText3', name='staticText3', parent=self.panel1,
              pos=wx.Point(16, 72), size=wx.Size(62, 14), style=0)

        self.textCtrl3 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL3, name='textCtrl3',
              parent=self.panel1, pos=wx.Point(112, 80), size=wx.Size(100, 22),
              style=0, value='textCtrl3')

        self.staticText4 = wx.StaticText(id=wxID_FRAME1STATICTEXT4,
              label='staticText4', name='staticText4', parent=self.panel1,
              pos=wx.Point(16, 112), size=wx.Size(62, 14), style=0)

        self.textCtrl4 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL4, name='textCtrl4',
              parent=self.panel1, pos=wx.Point(112, 112), size=wx.Size(100, 22),
              style=0, value='textCtrl4')

        self.button1 = wx.Button(id=wxID_FRAME1BUTTON1, label='button1',
              name='button1', parent=self.panel1, pos=wx.Point(56, 408),
              size=wx.Size(75, 24), style=0)
        self.button1.Bind(wx.EVT_BUTTON, self.OnButton1Button,
              id=wxID_FRAME1BUTTON1)

        self.button2 = wx.Button(id=wxID_FRAME1BUTTON2, label='button2',
              name='button2', parent=self.panel1, pos=wx.Point(224, 408),
              size=wx.Size(75, 24), style=0)

    def __init__(self, parent):
        self._init_ctrls(parent)
        self.Show(true)

    def OnButton1Button(self, event):
        event.Skip()

class App(wxApp):
      def OnInit(self):
            frame = Frame1(None)
            self.SetTopWindow(frame)
            return true
     
    
app = App(0)
app.MainLoop()

[/code]

阅读本文需要有一种高级编程语言的使用经历,通常是 Basic C/C++ Java Pascal Python Perl Tcl 中的一种。
一种可视化工具的使用 VC BCB VB Delphi 等。

posted on 2006-06-10 21:53  龙巢NET刀  阅读(2339)  评论(0)    收藏  举报