用wxpython做ui_使用 wxFormBuiler 做wxPython UI

14155454-9ca9ee87e6054f838bba27ee6ec880c3.jpg

如上图,使用wxFormBulider 实现的简单的图形界面,又是拖控件啊,然后 直接查看python代码, 拿出来 几乎不用修改就可以直接运行。贴一段用wxFormBulider 实现的ui

# -*- coding: utf-8 -*-

###########################################################################

## Python code generated with wxFormBuilder (version Oct 8 2012)

## http://www.wxformbuilder.org/

##

## PLEASE DO "NOT" EDIT THIS FILE!

###########################################################################

import wx

import wx.xrc

import sys

import os

###########################################################################

## Class MyFrame2

###########################################################################

class MyFrame2 ( wx.Frame ):

def __init__( self ):

wx.Frame.__init__ ( self, None, id = wx.ID_ANY, title = u"wo cao ", pos = wx.DefaultPosition, size = wx.Size( 502,644 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )

self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )

bSizer3 = wx.BoxSizer( wx.VERTICAL )

self.m_panel4 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )

self.m_panel4.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_ACTIVEBORDER ) )

bSizer4 = wx.BoxSizer( wx.VERTICAL )

self.m_static_fileName = wx.StaticText( self.m_panel4, wx.ID_ANY, u"未打开文件", wx.DefaultPosition, wx.DefaultSize, 0 )

self.m_static_fileName.Wrap( -1 )

bSizer4.Add( self.m_static_fileName, 0, wx.ALL|wx.EXPAND, 5 )

self.m_staticline1 = wx.StaticLine( self.m_panel4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )

bSizer4.Add( self.m_staticline1, 0, wx.EXPAND |wx.ALL, 5 )

self.m_textCtrl1 = wx.TextCtrl( self.m_panel4, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE )

self.m_textCtrl1.SetBackgroundColour( wx.Colour( 0, 0, 0 ) )

self.m_textCtrl1.SetForegroundColour( wx.Colour( 240, 240, 240 ) )

bSizer4.Add( self.m_textCtrl1, 1, wx.ALL|wx.EXPAND, 5 )

self.m_panel4.SetSizer( bSizer4 )

self.m_panel4.Layout()

bSizer4.Fit( self.m_panel4 )

bSizer3.Add( self.m_panel4, 1, wx.EXPAND |wx.ALL, 5 )

self.SetSizer( bSizer3 )

self.Layout()

self.m_menubar3 = wx.MenuBar( 0 )

self.m_menu1 = wx.Menu()

self.m_openFile = wx.MenuItem( self.m_menu1, wx.ID_ANY, u"打开"+ u"\t" + u"------ ctrl + f", wx.EmptyString, wx.ITEM_NORMAL )

self.m_menu1.AppendItem( self.m_openFile )

self.m_save = wx.MenuItem( self.m_menu1, wx.ID_ANY, u"保存"+ u"\t" + u"------ ctrl + s", wx.EmptyString, wx.ITEM_NORMAL )

self.m_menu1.AppendItem( self.m_save )

self.m_menu1.AppendSeparator()

self.m_close = wx.MenuItem( self.m_menu1, wx.ID_ANY, u"关闭", wx.EmptyString, wx.ITEM_NORMAL )

self.m_menu1.AppendItem( self.m_close )

self.m_ext = wx.MenuItem( self.m_menu1, wx.ID_ANY, u"退出"+ u"\t" + u"------ alt + F4", wx.EmptyString, wx.ITEM_NORMAL )

self.m_menu1.AppendItem( self.m_ext )

self.m_menubar3.Append( self.m_menu1, u"文件" )

self.m_menu2 = wx.Menu()

self.m_run = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"运行"+ u"\t" + u"------ F5", wx.EmptyString, wx.ITEM_NORMAL )

self.m_menu2.AppendItem( self.m_run )

self.m_debug = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"调试"+ u"\t" + u"------ F3", wx.EmptyString, wx.ITEM_NORMAL )

self.m_menu2.AppendItem( self.m_debug )

self.m_menuItem8 = wx.MenuItem( self.m_menu2, wx.ID_ANY, u"保留位", wx.EmptyString, wx.ITEM_NORMAL )

self.m_menu2.AppendItem( self.m_menuItem8 )

self.m_menubar3.Append( self.m_menu2, u"工具" )

self.SetMenuBar( self.m_menubar3 )

self.m_statusBar = self.CreateStatusBar( 1, wx.ST_SIZEGRIP, wx.ID_ANY )

self.Centre( wx.BOTH )

# Connect Events

self.Bind( wx.EVT_MENU, self.OpenFile, id = self.m_openFile.GetId() )

self.Bind( wx.EVT_MENU, self.FormDestory, id = self.m_ext.GetId() )

self.Bind( wx.EVT_MENU, self.SaveFile, id = self.m_save.GetId() )

self.Bind( wx.EVT_MENU, self.CloseForm, id = self.m_close.GetId() )

def __del__( self ):

pass

# Virtual event handlers, overide them in your derived class

def FormDestory( self, event ):

self.Destroy()

def OpenFile( self, event ):

self.dirname = ''

dlg = wx.FileDialog(self,"chose a file",self.dirname,"","*.*",wx.OPEN)

if dlg.ShowModal() == wx.ID_OK:

self.filename = dlg.GetFilename()

self.dirname = dlg.GetDirectory()

filePath = self.dirname + self.filename

self.m_static_fileName.SetLabel(filePath)

#print self.dirname

f = open(os.path.join(self.dirname,self.filename),'r')

self.m_textCtrl1.SetValue(f.read())

f.close()

dlg.Destroy()

def SaveFile( self, event ):

try:

f = open(os.path.join(self.dirname,self.filename),'w')

except AttributeError:

print '文件不存在'

sys.exit(0)

content = self.m_textCtrl1.GetValue()

try:

f.write(content)

except UnboundLocalError:

print '文件不存在'

sys.exit(0)

finally:

f.close()

def CloseForm( self, event ):

self.m_static_fileName.SetLabel(u'未打开文件')

self.m_textCtrl1.SetValue(u'')

app = wx.PySimpleApp()

frame = MyFrame2()

frame.Show()

app.MainLoop()

另外 该工具还支持 c++ / php, 是的你没看错,是php。不过我美使用过。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值