wxPython安装与GUI
2016-07-09 09:15
387 查看
1.首先是安装位的问题,Python安装的是32位,但是wxPython安装的是64位
然后出现了“python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序”这个问题
2.版本问题,下载wxPython的网站只有针对Python2.7和Python2.6的,而我安装的是Python3.4的,于是又重新安装的一个Python2.7的,现在是可以了
3.第一个界面的显示
输入如下代码,显示了一个简单的界面
然后添加控件,如下,位置是通过固定的点设定的,为绝对布局
更智能的布局,会随着视图的大小而改变
设置按钮事件:
在filename上输入文件名如a.txt,在contents上输入内容,点击save;
关闭窗口,在filename上输入文件名a.txt,点击open,contents上会显示之前保存的内容
import wx
#先获取filename的文件,读取其中的值到contents上
def load(event):
file=open(filename.GetValue())
contents.SetValue(file.read())
file.close()
#获取filename上的文件,以写的方式,将contents上的内容写到文件中
def save(event):
file=open(filename.GetValue(),'w')
file.write(contents.GetValue())
file.close()
app=wx.App()#不明白
win=wx.Frame(None,title="Simple Editor",size=(410,335))#获取窗口实例
bkg=wx.Panel(win)#获取窗口的背景,面板
#Button的事件处理函数
loadButton=wx.Button(bkg,label='Open')
loadButton.Bind(wx.EVT_BUTTON ,load)
saveButton=wx.Button(bkg,label='Save')
saveButton.Bind(wx.EVT_BUTTON ,save)
filename=wx.TextCtrl(bkg)
contents=wx.TextCtrl(bkg,style=wx.TE_MULTILINE|wx.HSCROLL)
#使用尺寸器,完成hbox的组合控件
hbox=wx.BoxSizer()#使用尺寸器
hbox.Add(filename,proportion=1,flag=wx.EXPAND)
hbox.Add(loadButton,proportion=0,flag=wx.LEFT,border=5)
hbox.Add(saveButton,proportion=0,flag=wx.LEFT,border=5)
#使用尺寸器,将hbox放到vbox中,完成vobx的组合控件
vbox=wx.BoxSizer(wx.VERTICAL)
vbox.Add(hbox,proportion=0,flag=wx.EXPAND|wx.ALL,border=5)
vbox.Add(contents,proportion=1,flag=wx.EXPAND|wx.LEFT|wx.BOTTOM |wx.RIGHT ,border=5)
#使用面板的SetSizer方法设定它的尺寸器
bkg.SetSizer(vbox)
win.Show()
app.MainLoop()
然后出现了“python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序”这个问题
2.版本问题,下载wxPython的网站只有针对Python2.7和Python2.6的,而我安装的是Python3.4的,于是又重新安装的一个Python2.7的,现在是可以了
3.第一个界面的显示
输入如下代码,显示了一个简单的界面
import wx app=wx.App() win=wx.Frame(None) win.Show() app.MainLoop()
然后添加控件,如下,位置是通过固定的点设定的,为绝对布局
import wx app=wx.App() win=wx.Frame(None,title="Simple Editor") loadButton=wx.Button(win,label='Open',pos=(255,5),size=(80,25)) saveButton=wx.Button(win,label='Save',pos=(315,5),size=(80,25)) filename=wx.TextCtrl(win,pos=(5,5),size=(210,25)) contents=wx.TextCtrl(win,pos=(5,35),size=(390,260),style=wx.TE_MULTILINE|wx.HSCROLL) win.Show() app.MainLoop()
更智能的布局,会随着视图的大小而改变
import wx app=wx.App() win=wx.Frame(None,title="Simple Editor",size=(410,335)) bkg=wx.Panel(win) loadButton=wx.Button(bkg,label='Open') saveButton=wx.Button(bkg,label='Save') filename=wx.TextCtrl(bkg) contents=wx.TextCtrl(bkg,style=wx.TE_MULTILINE|wx.HSCROLL) hbox=wx.BoxSizer() hbox.Add(filename,proportion=1,flag=wx.EXPAND) hbox.Add(loadButton,proportion=0,flag=wx.LEFT,border=5) hbox.Add(saveButton,proportion=0,flag=wx.LEFT,border=5) vbox=wx.BoxSizer(wx.VERTICAL) vbox.Add(hbox,proportion=0,flag=wx.EXPAND|wx.ALL,border=5) vbox.Add(contents,proportion=1,flag=wx.EXPAND|wx.LEFT|wx.BOTTOM |wx.RIGHT ,border=5) bkg.SetSizer(vbox) win.Show() app.MainLoop()
设置按钮事件:
在filename上输入文件名如a.txt,在contents上输入内容,点击save;
关闭窗口,在filename上输入文件名a.txt,点击open,contents上会显示之前保存的内容
import wx
#先获取filename的文件,读取其中的值到contents上
def load(event):
file=open(filename.GetValue())
contents.SetValue(file.read())
file.close()
#获取filename上的文件,以写的方式,将contents上的内容写到文件中
def save(event):
file=open(filename.GetValue(),'w')
file.write(contents.GetValue())
file.close()
app=wx.App()#不明白
win=wx.Frame(None,title="Simple Editor",size=(410,335))#获取窗口实例
bkg=wx.Panel(win)#获取窗口的背景,面板
#Button的事件处理函数
loadButton=wx.Button(bkg,label='Open')
loadButton.Bind(wx.EVT_BUTTON ,load)
saveButton=wx.Button(bkg,label='Save')
saveButton.Bind(wx.EVT_BUTTON ,save)
filename=wx.TextCtrl(bkg)
contents=wx.TextCtrl(bkg,style=wx.TE_MULTILINE|wx.HSCROLL)
#使用尺寸器,完成hbox的组合控件
hbox=wx.BoxSizer()#使用尺寸器
hbox.Add(filename,proportion=1,flag=wx.EXPAND)
hbox.Add(loadButton,proportion=0,flag=wx.LEFT,border=5)
hbox.Add(saveButton,proportion=0,flag=wx.LEFT,border=5)
#使用尺寸器,将hbox放到vbox中,完成vobx的组合控件
vbox=wx.BoxSizer(wx.VERTICAL)
vbox.Add(hbox,proportion=0,flag=wx.EXPAND|wx.ALL,border=5)
vbox.Add(contents,proportion=1,flag=wx.EXPAND|wx.LEFT|wx.BOTTOM |wx.RIGHT ,border=5)
#使用面板的SetSizer方法设定它的尺寸器
bkg.SetSizer(vbox)
win.Show()
app.MainLoop()
相关文章推荐
- python中if __name__ == '__main__': 的解析
- decimal(小数) module
- 【Python自动化运维之路Day9】Socket
- python学习——python解释器
- python学习——安装python
- python socket和socketserver
- 大家的编程(Python入门)-第三周Quiz
- python27(32位)安装模块报错“error: Unable to find vcvarsall.bat”
- python27(32位)安装RTree
- python socket
- Python 语言及其应用 Chapter_10 Exercise
- python 字典多种方法删除 keys
- Python 语言及其应用 Chapter_10 Note 3 时间time
- python3.5 与 mysql 交互
- Python basic note 01
- lxml解析xml文件
- 搭建python3环境
- python 语法树生成过程
- cmath module(针对复数)
- Python的优缺点