文档章节

Tkinter编写Mac应用(-)

saintli86
 saintli86
发布于 2017/06/15 10:11
字数 1354
阅读 124
收藏 0

##需求 工作中需要写一个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的选择、区别和比较

© 著作权归作者所有

共有 人打赏支持
saintli86
粉丝 3
博文 39
码字总数 16458
作品 0
成都
系统管理员
私信 提问
Python又把GUI界面攻下了,今天就告诉你怎么玩

0.引言 学Python这么久了,一直想做个界面出来,最近发现Python有个内置库tkinter,利用它可以很轻松做出一些简易的UI界面,首先来看Python官方对Tkinter的说明: The tkinter package (“T...

上海小胖
03/17
0
0
Python_017 GUI编程

GUI编程(Tkinter) python提供了多个图形开发界面的库,几个常用Python GUI库如下: Tkinter: Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下...

g00m
2015/02/21
0
0
三大Python GUI开源框架,谁才是你的最爱?

  【IT168 评论】大多数程序员在已经准备好分析基础示例之后,都会开始为程序构建一个图形用户界面。      在Python中,开始使用GUI编程的步骤并不复杂,但是它们要求用户开始做出一些...

it168网站
2017/09/01
0
0
Python 3.2.2 正式版发布

Python (发音:[ 'paiθ(ə)n; (US) 'paiθɔn ]n.蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。...

红薯
2011/09/05
2.5K
6
Python 下用 Tkinter 制作 GUI

什么是 GUI 既然要制作 GUI,那么就要先明确什么是 GUI。wiki上是这么说的: 图形用户界面(Graphical User Interface,简称 GUI)是指采用图形方式显示的计算机操作用户接口。 曾经有个同学这...

好铁
2016/03/09
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

租房软件隐私保护如同虚设

近日,苏州市民赵先生向江苏新闻广播新闻热线025-84658888反映,他在“安居客”手机应用软件上浏览二手房信息,并且使用该软件自动生成的虚拟号码向当地一家中介公司进行咨询。可电话刚挂不久...

linux-tao
31分钟前
1
0
分布式项目(五)iot-pgsql

书接上回,在Mapping server中,我们已经把数据都整理好了,现在利用postgresql存储历史数据。 iot-pgsql 构建iot-pgsql模块,这里我们写数据库为了性能考虑不在使用mybatis,换成spring jd...

lelinked
今天
2
0
一文分析java基础面试题中易出错考点

前言 这篇文章主要针对的是笔试题中出现的通过查看代码执行结果选择正确答案题材。 正式进入题目内容: 1、(单选题)下面代码的输出结果是什么? public class Base { private Strin...

一看就喷亏的小猿
今天
1
0
cocoapods 用法

cocoapods install pod install 更新本地已经install的仓库 更新所有的仓库 pod update --verbose --no-repo-update 更新制定的仓库 pod update ** --verbose --no-repo-update...

HOrange
今天
3
0
linux下socket编程实现一个服务器连接多个客户端

使用socekt通信一般步骤 1)服务器端:socker()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。 2)客户端:socker()建立套接字,连接(connect)服务器,连接上后...

shzwork
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部