一、简介


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

二、安装


1、安装python3.5.2

Python 3.5.2官方安装包列表

选择 Mac OS X 64-bit/32-bit installer 下载后,双击安装。

安装完成后,命令行下执行:

  1. ~ python3
  2. Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25)
  3. [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
  4. Type "help", "copyright", "credits" or "license" for more information.

OK ,非常简单,安装完成。

2、安装wxpython

wxpython各个版本的安装包快照列表

选择 python3.5.2对应的安装包wxPython_Phoenix-3.0.3.dev2700+c524ed1-cp35-cp35m-macosx_10_6_intel.whl

可通过浏览器下载,然后执行

  1. pip3 install wxPython_Phoenix-3.0.3.dev2700+c524ed1-cp35-cp35m-macosx_10_6_intel.whl

或者

  1. pip3 install https://wxpython.org/Phoenix/snapshot-builds/wxPython_Phoenix-3.0.3.dev2700+c524ed1-cp35-cp35m-macosx_10_6_intel.whl

这两种安装方式一样,安装完成之后进行测试wxpython模块

  1. ~ python3
  2. Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25)
  3. [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. ~ import wx
  6. ~ wx.App()
  7. <wx.core.App object at 0x1021e71f8>

表示该模块已经安装成功,并且可以正常运行了。

三、DEMO

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

  1. import wx
  2. app = wx.App()
  3. win = wx.Frame(
  4. None,
  5. title="simple editor",
  6. size=(410, 335))
  7. bkg = wx.Panel(win)
  8. def openFile(evt):
  9. dlg = wx.FileDialog(
  10. win,
  11. "Open",
  12. "",
  13. "",
  14. "All files (*.*)|*.*",
  15. wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
  16. filepath = ''
  17. if dlg.ShowModal() == wx.ID_OK:
  18. filepath = dlg.GetPath()
  19. else:
  20. return
  21. filename.SetValue(filepath)
  22. fopen = open(filepath)
  23. fcontent = fopen.read()
  24. contents.SetValue(fcontent)
  25. fopen.close()
  26. def saveFile(evt):
  27. fcontent = contents.GetValue()
  28. fopen = open(filename.GetValue(), 'w')
  29. fopen.write(fcontent)
  30. fopen.close()
  31. openBtn = wx.Button(bkg, label='open')
  32. openBtn.Bind(wx.EVT_BUTTON, openFile)
  33. saveBtn = wx.Button(bkg, label='save')
  34. saveBtn.Bind(wx.EVT_BUTTON, saveFile)
  35. filename = wx.TextCtrl(bkg, style=wx.TE_READONLY)
  36. contents = wx.TextCtrl(bkg, style=wx.TE_MULTILINE)
  37. hbox = wx.BoxSizer()
  38. hbox.Add(openBtn, proportion=0, flag=wx.LEFT | wx.ALL, border=5)
  39. hbox.Add(filename, proportion=1, flag=wx.EXPAND | wx.TOP | wx.BOTTOM, border=5)
  40. hbox.Add(saveBtn, proportion=0, flag=wx.LEFT | wx.ALL, border=5)
  41. bbox = wx.BoxSizer(wx.VERTICAL)
  42. bbox.Add(hbox, proportion=0, flag=wx.EXPAND | wx.ALL)
  43. bbox.Add(
  44. contents,
  45. proportion=1,
  46. flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT,
  47. border=5)
  48. bkg.SetSizer(bbox)
  49. win.Show()
  50. app.MainLoop()

参考文档

python学习笔记十四:wxPython Demo

mac中安装wxpython的更多相关文章

  1. Mac中安装maven3.2.1

    Mac中安装maven3.2.1 原文链接:http://blog.csdn.net/f_zongjian/article/details/24144803 本机OS X:10.9,未安装XCode, ...

  2. 在mac中安装tmux

    在mac 中安装Tmux: 在终端输入如下命令: brew  install tmux Tmux 的快捷键前缀(Prefix) 为了使自身的快捷键和其他软件的快捷键互不干扰,Tmux 提供了一个快捷键 ...

  3. Mac中安装Vim7.4

    Mac上的Vim Mac本身其实是预装了Vim的,但是目前的系统中都是Vim7.3版本的,而最新的Vim已经是7.4版了,因此为了能够使用最新版的vim,必须要对Mac中的vim要么升级,要么重装.在 ...

  4. Mac中安装node.js和npm

    换了Mac需要安装noed.js和npm记录一下首先访问node.js官网(https://nodejs.org/en/download/) 点击下载完后,一路点安装 就安装完成了 然后打开-终端-输 ...

  5. 苹果MAC中安装并搭建Android开发环境的详细步骤

    Android的开发平台搭建主要需要的工具有:Java虚拟机JDK.Eclipse.Eclipse插件ADT(Android Developer Tool)和Android开发包SDK,以下是具体的安 ...

  6. 在MAC中安装Compass的方法 (转)

    在MAC中通过gem命令安装compass时会出异常,原因是compass版本更新了,一些运行时所用到的依赖软件的版本没能得到更新,故而出现错误.例如,用以下命令安装compass: $ gem in ...

  7. 在Mac中安装.Net Core的开发环境

    在mac中部署dotnet core开发环境,我的MacOS版本号为OSX EI Capitan 10.11.6 1.安装brew homebrew官网推荐的安装命令如下: /usr/bin/ruby ...

  8. Mac中安装tensorflow(转)

    当我们开始学习编程的时候,第一件事往往是学习打印"Hello World".就好比编程入门有Hello World,机器学习入门有MNIST.MNIST是一个识别手写数字的程序 M ...

  9. MAC 中安装和使用express

    其实window系统和mac的操作在大致上其实是想同的,只是一些细节的区别,以下对在mac下安装和使用express做简要介绍,如有不妥之处请各位大神指教. 一.首先要测试node和npm是否已经正确 ...

随机推荐

  1. 每日踩坑 2019-04-08 VS2015未能找到路径“…\bin\roslyn\csc.exe”的解决方案

    使用 Nuget 安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 包即可. VS2017都是用 roslyn 编译, VS2015原本的编译 ...

  2. win10 大文件 安卓android studio修改 汉化

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha ========== win10 大文件 gradle-3.3-all 这个里面有 大量 ...

  3. js中for in,of区别

    let x; let a = ['a','b','c'] let b = {name:'LIUNAN',age:19} for(x of a){ document.write(x) } for(x i ...

  4. 2016年3月12日Android学习笔记

    1. //此句不能忘,否则onFling左右滑动不起作用 mLlExamView.setLongClickable(true); mLlExamView.setOnTouchListener(new ...

  5. 模拟一个带背景的 TPanel

    https://www.cnblogs.com/del/archive/2008/09/01/1281345.html

  6. eclim CSearch macro 问题的解决过程备忘录

    问题: CSearch 宏时. RuntimeException: Could not find file with URI because it is a relative path, and no ...

  7. android:应用性能优化SparseArray

    HashMap是java里比较常用的一个集合类,我比较习惯用来缓存一些处理后的结果.最近在做一个Android项目,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个 performanc ...

  8. Maven deploy部署jar到远程私服仓库

    一.配置私服账号密码 修改maven配置文件,在$MAVEN_HOME/conf/setting.xml中增加如下配置: 注意,这里配置的id为releases何snapshots,当然可以改为其他, ...

  9. request.getParameter(“xxx”)的参数的取值

    request.getParameter(“xxx”)的参数的取值的几种可能: 1. Html中form表单中标签的name属性: <form name="form" met ...

  10. WPF获取当前用户控件的父级窗体

    方式一.通过当前控件名获取父级窗体 Window targetWindow = Window.GetWindow(button); 方式二.通过当前控件获取父级窗体 Window parentWind ...