2019独角兽企业重金招聘Python工程师标准>>>

##需求 工作中需要写一个mac下的界面应用,具体的需求就是

  1. 有一些下拉按钮选择一些参数;
  2. 有输入地址的输入框
  3. 有提交按钮
  4. 有退出按钮
  5. 有一些说明性文字

最终的界面类似

##Tkinter/wxpython/pyqt比较

查找了网上python的GUI相关模块,有wxpython,pyqt和Tkinter,我之前用wxpython写过windows的应用,wxpython不适用于macOS系统,pyqt了解了一些,太庞大,学习成本相对较高,Tkinter简单,但是大家对它的评价不高,不过考虑到我们的需求也很简单,最终用它来实现。

Tkinter 1 Tkinter 似乎是与 tcl 语言同时发展起来的一种界面库。tkinter 是 python 的配备的标准 gui 库。Tkinter 提供了一些简单的接口。和一些简单的窗口 按 钮等。优点是简单,易用。缺点是功能较少。 Tkinter 的安装:yum install tkinter yum install python-imaging yum install python-tools Tkinter 的使用:Tkinter 的使用非常简单,只要用 import Tkinter 将库导 入即可。 总结: 值得注意的是, 我发现 Tkinter 一定要在系统自带的 python2.4 版本 上,才能实现导入。在我安装的 python2.7,不能够实现导入。在这里,我也 发现了 centos 系统的一些缺陷,centos 系统自带的软件会比较旧,但是缺不 能够用 yum 来更新。自己编译安装过程中,会有许多错误。根据我网上查找 的资料了解,要自己重新配置 yum 的第三方库,因为公司本身已经不提供更新。

WxPython 5 WxWidgets 应该算是近几年了比较流行的 GUI 跨平台开发技术了。 wxpython 的功能上面要强于 tkinter,她提供了超过 200 个类,面向对象的编程 风格。相比 Tkinter,Wxpython 的功能强大了很多。 WxPython 的安装:下载 wxpython 的 RPM 包进行安装 WxPython 的使用与 Tkinter 类似,都是直接进行导入 import wx 将库导 入即可。 总结:对于 Wxpython 只是提供 gui 开发的基础库,并没有开发环境。又经过 一番搜索找到了几个基于 wxPython 的工具:boa、wxGlade、wxWidget。但是 我认为这样做 GUI 开发,不够方便。

PyQt 9 PyQt 是一个创建 GUI 应用程序的工具包。它是 python 编程语言和 Qt 库 的成功融合。 库是目前最强大的库之一。 Qt PyQt 是由 Phil Thompson 开发。 PyQt 实现了一个 Python 模块集。 PyQt 的安装:PyQt 的安装涉及到的东西比较多。因为编译 PyQt 要用到 qmake 工具, 所以首先要安装的是 Qt 的编译环境。 然后由于系统自带的 sqlite3 数据库和 python 版本太旧。 先要更新版本。 所以我安装了 sqlite3 的最先版本, 和 python2.7.(必须先安装 sqlite 数据库,再看装 python) 。然后是安装 PyQt 的依赖文件 sip,然后就可以编译安装 PyQt。 由于要 PyQt 有专门的编辑器 eric4,所以我们还需要安装 eric4.安装 eric4 前,必须先安装 QScintilla-gpl-2.7,再安装 eric。但是在我成功安装后却始终无 法打开 eric4。 总结:由于我学习的是 QT 编程,所以我在选择 python 的 GUI 开发时, 第一个选择的便是 PyQt,因为用相同的 Qt 库会比较好入手。而且 PyQt 的功 能很强大,而且根据我在网上找到的资料,大多数人都认为 PyQt 有着不错的 发展前景。 但是我没有能成功安装 eric 的编辑器环境。 但是我在寒假还是想尝 试一下 PyQt 的开发环境的安装。一来这样可以节省很多时间,二来,Qt 毕竟 是我比较熟悉的开发环境,而且支持各种平台。

PyGTK 12 PyGTK 让你用 Python 轻松创建具有图形用户界面的程序.底层的 GTK+提供了各 式的可视元素和功能,如果需要,你能开发在 GNOME 桌面系统运行的功能完整 的软件。PyGTK 真正具有跨平台性,它能不加修改地,稳定运行各种操作系统之 上,如 Linux,Windows,MacOS 等.除了简单易用和快速的原型开发能力外,PyGTK还有一流的处理本地化语言的独特功。 PyGTK 的安装:首先 PyGTK 你要安装 GTK 库,和 glade 编辑器。我在网上 了解到 GTK 库已经到了 3.6.x 的版本,glade 也已经有推出了 glade3 的版本。 但是我在 centos 上安装都没有成功。因为他们依次依赖的文件太多,出现了 一些我暂时还解决不了的问题。后来我只好采用系统自带的旧版的 GTK 库, 并安装了 glade2 glade 的使用非常的方便,他类似 QtCreate,可以直接进行布局。并别他 有很全面的控件。并能够绘制出很漂亮的界面。而且保存的代码文件时用 xml 写的。 总结:glade 十分容易就行 GUI 的绘制。并且有着丰富的控件,而且支持 LGPL 协议。而且他还支持各种鼠标、键盘等事件。只需要用 python 来调用它 生成的文件。

ref:python gui: pygtk、pyqt、tkinter和 wxpython的选择、区别和比较

转载于:https://my.oschina.net/u/259976/blog/961914

Tkinter编写Mac应用(-)相关推荐

  1. Python3使用tkinter编写GUI程序

    目录 @(Python3中tkinter写的HTTP测试工具代码支持正则表达式和XPATH) 程序非常简单,暂时只支持GET方法,使用内置库tkinter编写GUI窗口,在Mac下运行效果图如下,wi ...

  2. 使用Python+tkinter编写电脑桌面放大镜程序

    代码思路:首先全屏截图,然后在鼠标当前位置以小窗口进行二次截图,放大后再显示到鼠标左上角. 主要技术:全屏截图,指定区域截图,绑定鼠标事件,绘制图像. 建议大家照着代码敲一遍,然后运行试试.代码有一点 ...

  3. 使用Tkinter编写一个简单的窗口应用

    使用Tkinter编写一个简单的窗口应用 文章目录 使用Tkinter编写一个简单的窗口应用 一.前言 二.控件简介 三.实践学习 1. 主窗口的创建以及Label的使用 2. Button的创建使用 ...

  4. Python GUI实现英汉字典功能、Python tkinter编写英汉字典

    Python GUI实现字典功能.Python tkinter编写字典 需求分析 本地字典文件内容如下: Africa n. 非洲 Aids n. 爱滋病 America n. 美洲 April n. ...

  5. 可视化界面Tkinter编写你的小程序

    可视化界面Tkinter编写小程序 引言 一.制作第一个基于tkinter的小应用 1.1 给自己的应用加个小图标 二.tkinter的常用组件介绍 2.1 Label(标签)介绍 2.1.1 设置文 ...

  6. tkinter在Mac下运行主界面显示黑色

    问题描述 我在Mac上运行python3.8.9版本,希望使用Tkintertools.当我运行下面的简单教程Tkinter脚本时,我得到一个完全黑色的窗口. import tkinter as tk ...

  7. python tkinter计算器实例_使用Python自带GUI tkinter编写一个期权价格计算器

    0 准备工作 首先,确认环境中有numpy.scipy.stats和tkinter三个功能包.前两个功能包可用于Python的数学计算,比如使用numpy来生成随机数用于Monte Carlo模拟,以 ...

  8. Python+Tkinter编写WIFI暴力破解客户端

    最近闲来无事,学习了一下tkinter,写了一个客户端GUI暴力破解wifi,实测可行,但是效率不高,毕竟几个G的字典数据,电脑是单网卡也不能实现并发爆破,能破解全看缘分,此篇文章仅供学习交流,话不多 ...

  9. python 布莱克舒尔斯_使用Python自带GUI tkinter编写一个期权价格计算器

    0 准备工作 首先,确认环境中有numpy.scipy.stats和tkinter三个功能包.前两个功能包可用于Python的数学计算,比如使用numpy来生成随机数用于Monte Carlo模拟,以 ...

最新文章

  1. 超简单的网页选项卡---jQuery
  2. uva 1610 聚会游戏
  3. 回溯算法-----复原IP地址(Java版本)
  4. python网络编程—UDP协议
  5. 百度网盘迎来劲敌!非会员下载速度10MB/S……
  6. 字典与文本文档的转换
  7. 图的储存方式,链式前向星最简单实现方式 (边集数组)
  8. leetcode 947. 移除最多的同行或同列石头(dfs)
  9. ffmpeg最新源代码(定期更新)
  10. vscode用鼠标滚轮_前端开发神器 VSCode 使用总结
  11. pip指定源安装_几种python安装简单方法
  12. Algs4-2.1.8元素有三种值时插入排序的复杂度
  13. Linux EXT4文件系统简介
  14. NVIDIA Jetson TX2 更新软件源
  15. 入门级概述光学相干层析(OCT)原理
  16. JSTL 标签大全详解
  17. 程序员转行为什么这么难
  18. 转载 GIS地图知识
  19. android eclipse加密,Elliptic Curve Cryptography:在eclipse android中使用NFC发送加密消息
  20. 频率与听感的对应关系

热门文章

  1. SaltStack 部署案例 02
  2. python thrift 进行filter
  3. CentOS7显卡驱动问题
  4. js操作select标签
  5. sql sum()对空值的处理
  6. 诗与远方:无题(六十三)- 杂诗,然,矣
  7. XML解析的四种方式
  8. asp.net mvc 包含了一个 html 的助手类在哪里,c# - 在App_Code中使用@HTML的ASP.NET MVC Razor Helper - 堆栈内存溢出...
  9. 如何判断一个new出来的空对象
  10. alt php,我怎样才能在PHP中获取a p标签的alt属性?