码迷,mamicode.com
首页 > 编程语言 > 详细

利用wxpython编写GUI

时间:2015-04-19 17:32:05      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

  首先建立一个简单的布局合理的图形界面,但是其中按下按键没有事情发生

 1 #encoding=utf-8
 2 __author__ = heng
 3 #编写一个GUI
 4 import wx
 5 app = wx.App()          #先创建一个图形界面
 6 win = wx.Frame(None,title = "simple editor",size = (500,500))     #title用于设置图形界面的标题,size是用来设置窗口的初始大小
 7 bkg = wx.Panel(win)            #利用Panel管理界面的布局
 8 saveButton = wx.Button(bkg,label = save)        #在画布bkg上设置标签为save的按键
 9 openButton = wx.Button(bkg,label = open)
10 filename = wx.TextCtrl(bkg)                       #此函数用于在画布上建立一个文本的输入框
11 contents = wx.TextCtrl(bkg,style = wx.TE_MULTILINE | wx.HSCROLL)      #在画布上建立可换行的文本输入框并且添加了滚动条
12 #开始布局文本框,左右的布局
13 hbox = wx.BoxSizer()             #开始添加尺寸器,默认为水平
14 hbox.Add(filename,proportion = 1,flag = wx.EXPAND)      #proportion用于设置对象所占的比例,1代表占用剩下的额外空间的所有的空间,flag用来设置图标的属性,wx.EXPAND代表图标可扩展
15 hbox.Add(saveButton,proportion = 0,flag = wx.LEFT,border = 5)          #代表距离左边界的距离为5个像素点(边缘的宽度,间隔)
16 hbox.Add(openButton,proportion = 0,flag = wx.LEFT,border = 5)
17 #开始上下的布局
18 bbox = wx.BoxSizer(wx.VERTICAL)          #上下的布局,垂直的布局
19 bbox.Add(hbox,proportion = 0,flag = wx.EXPAND | wx.ALL,border = 5)
20 bbox.Add(contents,proportion = 1,flag = wx.EXPAND| wx.LEFT|wx.RIGHT|wx.BOTTOM,border = 5)
21 
22 bkg.SetSizer(bbox)
23 win.Show()
24 app.MainLoop()

下面建立一个可以处理按键事件的图形界面

 1 #encoding=utf-8
 2 __author__ = heng
 3 #编写一个GUI
 4 import wx
 5 #添加按键的事件
 6 def load(event):
 7     file = open(filename.GetValue())     #打开小的文本框中的文件
 8     contents.SetValue(file.read())        #读取文本的信息
 9     file.close()
10 def save(event):
11     file = open(filename.GetValue(),w)
12     file.write(contents.GetValue())
13     file.close()
14 
15 app = wx.App()          #先创建一个图形界面
16 win = wx.Frame(None,title = "simple editor",size = (500,500))     #title用于设置图形界面的标题,size是用来设置窗口的初始大小
17 bkg = wx.Panel(win)            #利用Panel管理界面的布局
18 saveButton = wx.Button(bkg,label = save)        #在画布bkg上设置标签为save的按键
19 saveButton.Bind(wx.EVT_BUTTON,save)               #将save的事件处理绑定到按键上
20 openButton = wx.Button(bkg,label = open)
21 openButton.Bind(wx.EVT_BUTTON,load)
22 filename = wx.TextCtrl(bkg)                       #此函数用于在画布上建立一个文本的输入框
23 contents = wx.TextCtrl(bkg,style = wx.TE_MULTILINE | wx.HSCROLL)      #在画布上建立可换行的文本输入框并且添加了滚动条
24 #开始布局文本框,左右的布局
25 hbox = wx.BoxSizer()             #开始添加尺寸器,默认为水平
26 hbox.Add(filename,proportion = 1,flag = wx.EXPAND)      #proportion用于设置对象所占的比例,1代表占用剩下的额外空间的所有的空间,flag用来设置图标的属性,wx.EXPAND代表图标可扩展
27 hbox.Add(saveButton,proportion = 0,flag = wx.LEFT,border = 5)          #代表距离左边界的距离为5个像素点(边缘的宽度,间隔)
28 hbox.Add(openButton,proportion = 0,flag = wx.LEFT,border = 5)
29 #开始上下的布局
30 bbox = wx.BoxSizer(wx.VERTICAL)          #上下的布局,垂直的布局
31 bbox.Add(hbox,proportion = 0,flag = wx.EXPAND | wx.ALL,border = 5)
32 bbox.Add(contents,proportion = 1,flag = wx.EXPAND| wx.LEFT|wx.RIGHT|wx.BOTTOM,border = 5)
33 
34 bkg.SetSizer(bbox)
35 win.Show()
36 app.MainLoop()

上面的代码中添加了处理事件的函数,可以将函数绑定到对应的按键上去。本事件用到了对文件的读写的操作。

 

利用wxpython编写GUI

标签:

原文地址:http://www.cnblogs.com/xiaoli2018/p/4439351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!