Python中使用wxPython开发的一个简易笔记本程序实例


Posted in Python onFebruary 08, 2015

一、简介

wxPython是Python语言的一套优秀的GUI图形库,允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的跨平台GUI库wxWidgets的Python封装和Python模块的方式提供给用户的。

二、安装

参考官方网站:http://www.wxpython.org/download.php

三、DEMO

本demo是一个简单的记事本软件,可以打开文件,修改并保存。

import wx

app = wx.App()
win = wx.Frame(
  None,
  title="simple editor",
  size=(410, 335))

bkg = wx.Panel(win)


def openFile(evt):
  dlg = wx.FileDialog(
    win,
    "Open",
    "",
    "",
    "All files (*.*)|*.*",
    wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
  filepath = ''
  if dlg.ShowModal() == wx.ID_OK:
    filepath = dlg.GetPath()
  else:
    return
  filename.SetValue(filepath)
  fopen = open(filepath)
  fcontent = fopen.read()
  contents.SetValue(fcontent)
  fopen.close()


def saveFile(evt):
  fcontent = contents.GetValue()
  fopen = open(filename.GetValue(), 'w')
  fopen.write(fcontent)
  fopen.close()

openBtn = wx.Button(bkg, label='open')
openBtn.Bind(wx.EVT_BUTTON, openFile)

saveBtn = wx.Button(bkg, label='save')
saveBtn.Bind(wx.EVT_BUTTON, saveFile)

filename = wx.TextCtrl(bkg, style=wx.TE_READONLY)
contents = wx.TextCtrl(bkg, style=wx.TE_MULTILINE)

hbox = wx.BoxSizer()
hbox.Add(openBtn, proportion=0, flag=wx.LEFT | wx.ALL, border=5)
hbox.Add(filename, proportion=1, flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=5)
hbox.Add(saveBtn, proportion=0, flag=wx.LEFT | wx.ALL, border=5)

bbox = wx.BoxSizer(wx.VERTICAL)
bbox.Add(hbox, proportion=0, flag=wx.EXPAND | wx.ALL)
bbox.Add(
  contents,
  proportion=1,
  flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT,
  border=5)

bkg.SetSizer(bbox)
win.Show()
app.MainLoop()

运行效果:

Python中使用wxPython开发的一个简易笔记本程序实例

Python 相关文章推荐
python调用cmd命令行制作刷博器
Jan 13 Python
python判断windows系统是32位还是64位的方法
May 11 Python
python实现的简单FTP上传下载文件实例
Jun 30 Python
解析Python中while true的使用
Oct 13 Python
使用pyecharts无法import Bar的解决方案
Apr 23 Python
python+django加载静态网页模板解析
Dec 12 Python
PyTorch线性回归和逻辑回归实战示例
May 22 Python
python单例模式获取IP代理的方法详解
Sep 13 Python
Matplotlib绘制雷达图和三维图的示例代码
Jan 07 Python
TFRecord文件查看包含的所有Features代码
Feb 17 Python
Selenium启动Chrome时配置选项详解
Mar 18 Python
如何通过Python实现RabbitMQ延迟队列
Nov 28 Python
Python常用的日期时间处理方法示例
Feb 08 #Python
Python中使用PIL库实现图片高斯模糊实例
Feb 08 #Python
Python中解析JSON并同时进行自定义编码处理实例
Feb 08 #Python
Python Web框架Flask中使用七牛云存储实例
Feb 08 #Python
Python Web框架Flask中使用百度云存储BCS实例
Feb 08 #Python
Python Web框架Flask中使用新浪SAE云存储实例
Feb 08 #Python
Python中装饰器的一个妙用
Feb 08 #Python
You might like
PHP 数组教程 定义数组
2009/10/23 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
php简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
yii2项目实战之restful api授权验证详解
2017/05/20 PHP
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
基于jquery的高性能td和input切换并可修改内容实现代码
2011/01/09 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
2015/11/30 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
2016/06/09 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
React如何实现浏览器打印部分内容详析
2019/05/19 Javascript
使用cx_freeze把python打包exe示例
2014/01/24 Python
Python 正则表达式入门(初级篇)
2016/12/07 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
【python】matplotlib动态显示详解
2019/04/11 Python
Django如何实现上传图片功能
2019/08/16 Python
iPython pylab模式启动方式
2020/04/24 Python
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
AURALog面试题软件测试方面
2013/10/22 面试题
策划助理岗位职责
2013/11/18 职场文书
上班上网检讨书
2014/01/29 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
机关作风建设工作总结
2014/10/23 职场文书
辞职信的写法
2015/02/27 职场文书
教师网络培训心得体会
2016/01/09 职场文书