Python的 GUI
框架
Tkinter
Python
内嵌的gui
环境,使用TCL
实现,python IDLE
由Tkinter
实现- 历史悠久,
perl
中有对应的perlTk
。Python
标准安装包中包含Tkinter
,易学易用,方便创建简单GUI
。 - 跨平台
- 布局全靠代码实现,15种常用部件,效果简陋
Wxpython
- 跨平台,由
C++
编写 Python
的扩展模块,使用前需要安装- 遵循
LGPL
协议,自由软件,商用许可 - 文档少,遇到问题不容易解决
- 代码布局控件,不直观
Pygtk
Python
对GTK+ GUI
库的封装Python
的扩展模块,使用前需要安装Gnome
下应用多GTK
在windows
下兼容性会有一定问题
Pyqt
Python
对QT
的包装,QT
源码为C++
- 跨平台特性好,本地显示效果
Pyqt
与QT
的函数接口一致,由于QT
开发文档丰富,间接导致pyqt
的开发文档也比较丰富- 控件丰富,函数/方法多,拖拽布局
- 方便打包成二进制文件
- GPL协议,商业程序需要购买商业版授权
Pyside
Python
对QT
的封装- 扩展模块,使用前需要安装
- 跨平台特性好
- 与
pyqt
的API
一致 - 诺基亚的亲儿子
LGPL
协议,新软件可以是私有的而不需要是自由软件
Kivy
- 使用
python
和cython
编写,100%
开源免费 - 针对多点触摸应用
- 全平台支持(
Linux
,Windows
,Mac OS X
,Android
,iOS
,Raspberry Pi
) - 布局使用专用语言
kivy language
,代码布局,GUI
布局环境尚不成熟 - 中文支持差
为什么使用pyqt
API
与QT
一致,学习pyqt
,可以等效于学会了QT
,一劳多得- 文档丰富,遇到问题不用憋很久
- 学习成本低
- 开发迅速,
Qt designer
实现GUI
拖拽布局,所见即所得 - 学习经验容易迁移到
pyside
,开发商业应用方便打包发布软件