Frame即为框架,可以直接理解为一个窗口。要创建一个Frame的子类,需要调用Frame类的构造函数,原型如下:
wx.Frame(parent, id=-1, title=””, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, name=”frame”)
各参数含义:
parent:顶级窗口直接使用None。
id:标识,有三种赋值方式:1、自己指定一个正数,但确保同一窗体中不能重复;2、取值-1或wx.ID_ANY,表示由系统自动分配,可以通过frame.GetId()来获取此值;3、使用wx.NewId()函数来创建。
pos:窗口位置。
size:窗口大小。
style:样式,其中,wx.DEFAULT_FRAME_STYLE的值为:wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX
增加一个样式使用“|”, 去除一个样式使用"^"
wxPython的使用
1)创建应用程序对象
app = wx.App()
2)进入应用程序管理
app.MainLoop()
3)创建窗口 window –Frame
win = wx.Frame(None)
或者
win = wx.Frame(None, title="Simple Editor")
4)显示窗口:
win.Show()
eg: 仅有一个窗口的程序
#!/usr/bin/python
#encoding=utf-8
import wx
app=wx.App() #创建应用程序对象
win=wx.Frame(None)
win.Show()
app.MainLoop() #进入程序管理
5)在窗口添加组件
格式为:
btn = wx.Button(win)
a.给组件设置 title , label 信息.
格式为:
loadButton = wx.Button(win, label=‘Open‘)
b.给组件设置位置(pos),尺寸(size)
6)添加组件---文本框
a.默认文本框:text control :wx.TextCtrl
b.设置为文本区:style=wx.TE_MULTILINE |wx.HSCROLL
#!/usr/bin/python
#encoding=utf-8
import wx
app=wx.App() #创建应用程序对象
win=wx.Frame(None,title="我的程序",size=(410,335))
fbutton=wx.Button(win,label="open",pos=(225,5),size=(80,25))
sbutton=wx.Button(win,label="save",pos=(315,5),size=(80,25))
filename=wx.TextCtrl(win,pos=(5,5),size=(210,25))
content=wx.TextCtrl(win,pos=(5,35),size=(390,260),style=wx.TE_MULTILINE| wx.HSCROLL) #wx.TE_MULTILINE来获取多行文本区(默认有垂直滚动条)以及wx.HSCROLL来获取水平滚动条
win.Show()
app.MainLoop() #进入程序管理
原文:http://www.cnblogs.com/gracyandjohn/p/3908378.html