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黑魔法@property装饰器的使用技巧解析
Jun 16 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
May 16 Python
python爬取拉勾网职位数据的方法
Jan 24 Python
python去掉空白行的多种实现代码
Mar 19 Python
判断python字典中key是否存在的两种方法
Aug 10 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
Dec 15 Python
django的settings中设置中文支持的实现
Apr 28 Python
Python-Flask:动态创建表的示例详解
Nov 22 Python
Windows10+anacond+GPU+pytorch安装详细过程
Mar 24 Python
Python基于numpy模块实现回归预测
May 14 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
Nov 17 Python
Python将QQ聊天记录生成词云的示例代码
Feb 10 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函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
Php header()函数语法及使用代码
2013/11/04 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
PHP使用递归算法无限遍历数组示例
2017/01/13 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
理解Javascript_11_constructor实现原理
2010/10/18 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
2017/07/03 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
2017/08/23 Javascript
使用3D引擎threeJS实现星空粒子移动效果
2020/09/13 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
python list语法学习(带例子)
2013/11/01 Python
Python基础之函数用法实例详解
2014/09/10 Python
Python中的exec、eval使用实例
2014/09/23 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
Python3几个常见问题的处理方法
2019/02/26 Python
Django单元测试工具test client使用详解
2019/08/02 Python
Python箱型图处理离群点的例子
2019/12/09 Python
Python面向对象之多态原理与用法案例分析
2019/12/30 Python
Python 字符串池化的前提
2020/07/03 Python
Python实现像awk一样分割字符串
2020/09/15 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
国际贸易专业个人鉴定
2014/02/22 职场文书
建议书标准格式
2014/03/12 职场文书
创建无烟单位实施方案
2014/03/29 职场文书
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android