在windwos上实现:使用wxPython模块

#!/usr/bin/env python
# encoding: utf-8 import wx #创建open按钮触发的事件对应的函数
def load(event):
file = open(filename.GetValue())
contents.SetValue(file.read())
file.close() #创建save按钮触发的事件对应的函数
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)
#在窗口添加按钮,并绑定事件
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)
#调用面板的SetSizer设定尺寸
bkg.SetSizer(vbox)
#调用app.MianLoop前需要调用窗法,否则他会一直隐藏
win.Show()
app.MainLoop()

最新文章

  1. web网页中使用vlc插件播放相机rtsp流视频
  2. 译:Boost Property Maps
  3. 新冲刺Sprint3(第一天)
  4. C++中的mutable关键字
  5. Spring 中各种通知
  6. vsftp的设置选项
  7. 原创游戏,金庸群侠传X 0.5公布
  8. Unity3d之将terrain转化成mesh
  9. 去除 MyEclipse updating index
  10. Intellij IDEA 建立文件夹目录问题
  11. vc图像合成
  12. 给listview加动画,让动画执行结束后再刷新
  13. Zookeeper的一致性
  14. 【转】vector中erase()的使用注意事项
  15. C# TTS 文字和英文
  16. Android打开doc、xlsx、ppt等office文档解决方案
  17. Java -- JDBC 学习--通过Statement进行数据库更新操作
  18. FMX取得屏分辨率
  19. C++中前置声明介绍
  20. HTML5媒体(音频/视频)

热门文章

  1. BroadcastReceiver广播接受者
  2. ubuntu server 18.04 lts 终端中文显示为乱码的解决方案
  3. 洛谷 P1359 租用游艇【dp】(经典)
  4. vue2.0以上版本安装sass(scss)
  5. SpringMvc @ResponseBody
  6. 关于文档模式、DCOTYPE声明及严格模式
  7. 安装 jenkins
  8. CocosCreator内置函数实现物体拖动
  9. Java基础之理解Annotation
  10. android addJavascriptInterface 不能生效 解决办法