python_wxPython 初探

来源:互联网 发布:淘宝司法拍卖后悔报名 编辑:程序博客网 时间:2024/06/14 04:47

DESC:

初次接触wxPython,通过该模块示例教程首次完成了UI界面的布局,源代码来源于python基础教程-Magnus Lie HetLAnd


涉及的知识点:

1.使用尺寸其BoxSizer进行智能布局

2.基于事件处理机制、文件读写相关知识实现了打开文件和保存文件;

wx.App()     应用本身,是GUI实现的基础方法

wx.Frame() 代理C++的Frame类

wx.Panel()  代理C++的Panel类

wx.Button    用于对话框和Panel上

button.bind 用于绑定用户出发事件和自定义处理函数的方法

wx.Pabel.SetSizer(wx.BoxSizer())


ps:详细原理、更多GUI方法待进一步研究后补充!



#!/usr/bin/env python# -*- utf-8 -*-import wxdef load(event):    file = open(filename.GetValue())    contents.SetValue(file.read())    file.close()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,355))bkg = wx.Panel(win)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 = 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()


0 0
原创粉丝点击