Python的 GUI 框架

Tkinter

  • Python内嵌的gui环境,使用TCL实现,python IDLETkinter实现
  • 历史悠久,perl中有对应的perlTkPython标准安装包中包含Tkinter,易学易用,方便创建简单GUI
  • 跨平台
  • 布局全靠代码实现,15种常用部件,效果简陋

Wxpython

  • 跨平台,由C++编写
  • Python的扩展模块,使用前需要安装
  • 遵循LGPL协议,自由软件,商用许可
  • 文档少,遇到问题不容易解决
  • 代码布局控件,不直观

Pygtk

  • PythonGTK+ GUI库的封装
  • Python的扩展模块,使用前需要安装
  • Gnome下应用多
  • GTKwindows下兼容性会有一定问题

Pyqt

  • PythonQT的包装,QT源码为C++
  • 跨平台特性好,本地显示效果
  • PyqtQT的函数接口一致,由于QT开发文档丰富,间接导致pyqt的开发文档也比较丰富
  • 控件丰富,函数/方法多,拖拽布局
  • 方便打包成二进制文件
  • GPL协议,商业程序需要购买商业版授权

Pyside

  • PythonQT的封装
  • 扩展模块,使用前需要安装
  • 跨平台特性好
  • pyqtAPI一致
  • 诺基亚的亲儿子
  • LGPL协议,新软件可以是私有的而不需要是自由软件

Kivy

  • 使用pythoncython编写,100%开源免费
  • 针对多点触摸应用
  • 全平台支持(LinuxWindowsMac OS XAndroidiOSRaspberry Pi
  • 布局使用专用语言kivy language,代码布局,GUI布局环境尚不成熟
  • 中文支持差

为什么使用pyqt

  • APIQT一致,学习pyqt,可以等效于学会了QT,一劳多得
  • 文档丰富,遇到问题不用憋很久
  • 学习成本低
  • 开发迅速,Qt designer实现GUI拖拽布局,所见即所得
  • 学习经验容易迁移到pyside,开发商业应用方便打包发布软件

Python的 GUI 框架的更多相关文章

  1. python的GUI框架tkinter,实现程序员的流氓式表白逻辑

    导入依赖 '''导入依赖''' import tkinter as tk import tkinter.messagebox as msg 创建并隐藏根窗口 '''创建并隐藏根窗口''' root_w ...

  2. 目前比较流行的Python量化开源框架汇总(交易+风险分析工具)

     注:点击框架名称通往Github talib talib的简称是Technical Analysis Library,主要功能是计算行情数据的技术分析指标 numpy 介绍:一个用python实现的 ...

  3. python 关于GUI的思考(转)

    作者:知乎用户链接:https://www.zhihu.com/question/19721063/answer/21311275来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  4. selenium + python自动化测试unittest框架学习(一)selenium原理及应用

    unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...

  5. Python笔记_第四篇_高阶编程_GUI编程之Tkinter_1.使用Python进行GUI编程的概述

    1. GUI概述: GUI全称为Graphical User Interface,叫做图形用户界面,也是一种交互方式(Interaction).早期计算机使用的命令行界面(command-line i ...

  6. Qt 6.0精简WebEngine SerialPort Multimedia等成为半残GUI框架一览

    由于 Qt 集成了大量成熟模块,使之成为 C++ 领域中最好用的开源技术跨平台 GUI 开发框架.基于 Qt 能开发 Windows MacOS 传统桌面或无 GUI 应用程序.Unix/Linux ...

  7. Python:GUI库tkinter(三)

    这一章是对前两章的总结: Python:GUI库tkinter(一) Python:GUI库tkinter(二) 前两章是对控件的介绍,第一章可以知道各控件使用时的具体参数,第二章以具体的例子展示了每 ...

  8. 关于python的bottle框架跨域请求报错问题的处理

    在用python的bottle框架开发时,前端使用ajax跨域访问时,js代码老是进入不了success,而是进入了error,而返回的状态却是200.url直接在浏览器访问也是正常的,浏览器按F12 ...

  9. Python之Web框架Django

    Python之Web框架: Django 一. Django Django是一个卓越的新一代Web框架 Django的处理流程 1. 下载地址  Python 下载地址:https://www.pyt ...

随机推荐

  1. Navicat MySql乱码解决

    接着上一篇博客继续解决 如上图,鼠标放在localhost上右键,选择编辑连接,弹出下图. 如下选择好之后,连接数据库,进行测试.在test数据库上右键选择命令列界面,如下图,输入show varia ...

  2. 热血沙城-3.2移植-古月-cocos2dx源码

    最近发现我去年学习2dx的时候移植过的一个游戏现在被放在网上出售 真是有点想笑 本人比较喜欢武侠风格的游戏,当时9秒开源了热血沙城 本着学习的态度 从2.1.2移植到3.2 用了一周的时间  中间各种 ...

  3. javascript promise编程

    在loop中使用promise: https://stackoverflow.com/questions/17217736/while-loop-with-promises

  4. leveldb开篇

    因为工作的需求,最近看了一些项目的源码,包括nginx.tair.leveldb,一直看了下来都没有写东西的习惯,虽然作了不少记录,但都是只有自己才能看懂的笔记. 好多次都说开始写blog,锻炼一下自 ...

  5. Oracle EBS AP银行显示不全

  6. Oracle GI 日志收集工具 - TFA

    1.TFA的目的: TFA是个11.2版本上推出的用来收集Grid Infrastructure/RAC环境下的诊断日志的工具,它可以用非常简单的命令协助用户收集RAC里的日志,以便进一步进行诊断:T ...

  7. Redis常用指令

    1.使用指令存储数据 不同数据类型的使用 1.String > 在以上指令中我们使用set指令向redis存进了一个数据类型为string,名为str1,值为123456.(如果你要问为什么,那 ...

  8. Redis学习---Redis操作之Set

    Set操作,Set集合就是不允许重复的列表 sadd(name,values) name对应的集合中添加元素 --------------------------------------------- ...

  9. 安装64位php开发环境

    最近听说PHP5.4速度很快,所以想建立一个本地环境测试下.我打算用本地windows xp sp3下安装PHP5.4.8.Apache2.4.3和Mysql5.5.28. 首先去下载PHP.Apac ...

  10. 18年10月30日 NOIP模拟赛

    T1 jkl 题解 显然每次都取a[i]的最大值/最小值,并更新a[i]即可 用数据结构维护这一操作..得分看常数 事实上用v[i]记录权值为i的个数,然后for乱搞就可以了... 其它乱搞做法能获得 ...