Python GUI编程各种实现的对比

从 Python 语言的诞生之日起,就有许多优秀的 GUI 工具集整合到 Python 当中,这些优秀的 GUI 工具集,使得 Python 也可以在图形界面编程领域当中大展身手,由于 Python 的流行,许多应用程序都是由 Python 结合那些优秀的 GUI 工具集编写的。下面分别介绍 Python GUI 编程的各种实现,下面的许多内容都是来自维基百科(文章后面列出了参考),这里就当做是一个没有技术色彩的整合吧。

1.Tkinter

简单介绍:

是绑定了
Python

Tk GUI
工具集
,就是Python
包装的Tcl代码,通过内嵌在
Python
解释器内部的
Tcl
解释器实现,
Tkinter

的调用转换成
Tcl
命令,然后交给
Tcl
解释器进行解释,实现
Python

GUI
界面。

对比Tk和其它语言的绑定,比如
PerlTk
,是直接由
Tk
中的
C
库实现的。

优点:

历史最悠久,
Python
事实上的标准
GUI

Python
中使用
Tk GUI
工具集的标准接口,已经包括在标准的
Python Windows

装中,著名的
IDLE
就是使用
Tkinter
实现
GUI
的创建的
GUI
简单,学起来和用起来也简单。

2.wxPython

简单介绍:

Python
对跨平台的
GUI
工具集
wxWidgets

C++
编写)的包装,作为
Python
的一个
扩展模块实现。

优点:

比较流行的一个
Tkinter
的替代品,在
各种平台下都表现挺好。

3.PyGTK

简单介绍:

一系列的
Python

GTK+ GUI
库的包装。

优点:

比较流行的一个
Tkinter
的替代品,许多
Gnome
下的著名应用程序的
GUI
都是使用
PyGTK
实现的,比如
BitTorrent

GIMP


Gedit
都有可选的实现,在
Windows
平台
似乎表现不太好,这点也无可厚非,毕竟使用的是
GTK

GUI
库。

4.PyQt

简单介绍:

Python
对跨平台的
GUI
工具集
Qt
的包装实现了
440
个类以及
6000
个函数或者方法
,PyQt
是作为
Python
的插件实现的。

优点:

比较流行的一个
Tkinter
的替代品,功能
非常强大,可以用Qt开发多美漂亮的界面,也就可以用PyQt开发多么漂亮的界面。

跨平台的支持很好,不过在商业授权上似乎存在一些问题。

5.PySide

简单介绍:

另一个
Python
对跨平台的
GUI
工具集
Qt
的包装,捆绑在
Python
当中,最初由
BoostC++
库实现,后来迁移到
Shiboken。

优点:

比较流行的一个
Tkinter
的替代品,和上
面类似,至于两者的区别,这里
有一个介绍。

参考资料:

[1]Tkinter
的介绍
:
http://en.wikipedia.org/wiki/Tkinter

[2]wxPython
的介绍
:
http://en.wikipedia.org/wiki/WxPython

[3]PyGTK
的介绍
:
http://en.wikipedia.org/wiki/PyGTK

[4]PyQt
的介绍
:
http://en.wikipedia.org/wiki/PyQt

[5]PySide
的介绍
:
http://en.wikipedia.org/wiki/PySide

26种pythonGUI框架:http://www.oschina.net/project/lang/25?tag=178

Python GUI编程各种实现的对比的更多相关文章

  1. Python gui编程pyQt5安装步骤t

    Python gui编程pyQt5安装步骤         pip install PyQt5 Pip3 install PyQt5               https://riverbankco ...

  2. Python gui编程pyQt5安装步骤

    Python gui编程pyQt5安装步骤 =============================== -m PyQt5.uic.pyuic  $FileName$ -o $FileNameWit ...

  3. Python GUI 编程

    Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...

  4. Python GUI编程(Tkinter) windows界面开发

    Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...

  5. Python GUI编程--Tkinter

    今天看到了GUI编程,书上推荐用wxPython,去官网上看了看,发现Windows的最高支持到2.7,我用的是3.4版本,咋办,用自带的库--Tkinter呗,它是Python的默认GUI库,几乎是 ...

  6. python GUI编程tkinter示例之目录树遍历工具

    摘录 python核心编程 本节我们将展示一个中级的tkinter应用实例,这个应用是一个目录树遍历工具:它会从当前目录开始,提供一个文件列表,双击列表中任意的其他目录,就会使得工具切换到新目录中,用 ...

  7. Python -- Gui编程 -- Tkinter的使用 -- 基本控件

    1.按钮 tkBtton.py import tkinter root = tkinter.Tk() btn1 = tkinter.Button(root, anchor=tkinter.E,\ te ...

  8. Python GUI编程实践

    看完了<python编程实践>对Python的基本语法有了一定的了解,加上认识到python在图形用户界面和数据库支持方面快捷,遂决定动手实践一番. 因为是刚接触Python,对于基本的数 ...

  9. python gui编程

    1.准备工作 下载PyCharm 3.4(选择他的原因:1.有破解版,2.它的默认风格是PEB风格,一旦不符合PEB风格就会有提示) 下载并且安装界面设计工具wxFormBuilder 给python ...

随机推荐

  1. C/C++ 结构体成员在内存中的对齐规则(转载)

    这几天在看王艳平的<windows 程序设计>,第5章讲解了MFC框架是怎么管理窗口句柄到窗口实例之间的映射,用到了两个类CPlex和CMapPtrToPtr,用于管理内存分配的类(避免因 ...

  2. 对于一些css样式的巧妙方法进行总结。

    针对之前遇到过的一些特殊样式的实现,我今天做个总结,目的有二:一是将这些方法记录下来,以便将来需要用到时查找使用.二为将这些大神们智慧的结晶发扬光大,让广大前端程序猿们能够少走弯路.此贴为更新帖,以后 ...

  3. c/c++实现混合编程

    在开发中大家经常会使用到c与c++混合编程,这样能够更好的实现功能模块.刚学习了一下c和c++的混合编程,参考了网上的相关知识,在这里留下要点,方便以后进行查阅. 1.extern关键字 extern ...

  4. SQL Server 权限的分类

    SQL Server 的权限可以分三类 第一类 server 层面上的: select * from sys.fn_builtin_permissions(default) where class_d ...

  5. HTML5学习笔记之Input类型

    Input类型——email email类型用于包含email地址的输入域,在输入地址时会自动验证email域的值 例:Email:<input type="email" n ...

  6. html---id,name和value

    id是唯一标识符,不允许有重复值(类似数据表的主键,pk),可以通过它的值来获得对应的html标签对象.(如果在同一页面代码中,出现重复的id,会导致不可预料的错误) js代码可通过document. ...

  7. Microsoft Office 2010 Pro VOL简体中文正式版

    网友们期待的Microsoft Office Professional Plus 2010 VOL简体中文正式版.所谓的“VOL”,即是Volume Licensing for Organizatio ...

  8. 以程序的方式操纵NTFS的文件权限

    Windows NT/2K/XP版本的操作系统都支持NTFS格式的文件系统,这是一个有安全性质的文件系统,你可以通过Windows的资源管理器来设置对每个目录和 文件的用户访问权限.这里我就不对NTF ...

  9. VIM+qmake编译示例程序HelloQt出错问题的解决(文件名一定要使用.cpp,否则就会默认使用gcc编译,当然通不过)

    之前看到很多初学Qt的Linux友们在使用qmake编译第一个HelloQt或者HelloWorld程序时报错,并且始终找不到原因. 前几天我也遇到了同样的问题,我用的是<精通Qt4编程> ...

  10. mojo 接口示例

    <pre name="code" class="python">use Mojolicious::Lite; use JSON qw/encode_ ...