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开发的单词频率统计工具wordsworth使用方法
Jun 25 Python
Python3中常用的处理时间和实现定时任务的方法的介绍
Apr 07 Python
web.py 十分钟创建简易博客实现代码
Apr 22 Python
python中文件变化监控示例(watchdog)
Oct 16 Python
一篇文章快速了解Python的GIL
Jan 12 Python
python读取几个G的csv文件方法
Jan 07 Python
python实现石头剪刀布程序
Jan 20 Python
pycharm 更改创建文件默认路径的操作
Feb 15 Python
Pytorch转tflite方式
May 25 Python
python + selenium 刷B站播放量的实例代码
Jun 12 Python
Python实现PS滤镜中的USM锐化效果
Dec 04 Python
K近邻法(KNN)相关知识总结以及如何用python实现
Jan 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
2019十大人气国漫
2020/03/13 国漫
php微信开发之百度天气预报
2016/11/18 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
2018/08/16 PHP
nginx 设置多个站跨域
2021/03/09 Servers
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
Python实现把json格式转换成文本或sql文件
2015/07/10 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
python画折线图的程序
2018/07/26 Python
Pytorch之finetune使用详解
2020/01/18 Python
python自动点赞功能的实现思路
2020/02/26 Python
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
审计主管岗位职责
2014/01/31 职场文书
公司节能减排倡议书
2014/05/14 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
环境保护建议书
2014/08/26 职场文书
群众路线个人剖析材料
2014/10/07 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
社区活动总结范文
2015/05/07 职场文书
开展警示教育活动总结
2015/05/09 职场文书
开票证明
2015/06/23 职场文书
会计工作自我鉴定范文
2019/06/21 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
关于Vue Router的10条高级技巧总结
2021/05/06 Vue.js
图文详解matlab原始处理图像几何变换
2021/07/09 Python
Pygame Draw绘图函数的具体使用
2021/11/17 Python
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android