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. 慕课网 深入浅出javascript 笔记

    javascript 数据类型 5种简单数据类型:Number.String.Boolean.Undefined.Null 1种复杂数据类型:Object =    表示赋值: ==  表示比较,但是 ...

  2. 菜鸟的HTML学习之路

    开发网站流程 确定风格.功能(论坛.留言板.支付.用户登录等). 美工制作网页效果图(首页.列表页.内容页). 制作人员切图排版,排成网页形式. 后台程序开始写程序. 前台与后台结合. HTML注释 ...

  3. Transformation functionality for the String class

    String类的转换功能: package com.itheima_05; /* * String类的转换功能: * char[] toCharArray():把字符串转换为字符数组 * String ...

  4. 通过html导出PDF如何分页

    每页一个DIV,加上样式page-break-inside:avoid; 即可分页了 .pdfpage{page-break-inside:avoid;} <div class="pd ...

  5. 离线安装SharePoint2016

    离线安装SharePoint2016的过程中,遇到了不少问题,该文章将安装过程尽量详细描述,供自己后续参考,请不要嫌文章啰嗦哈. 本人使用的是Windows Server 2012 R2 Standa ...

  6. Oracle EBS 创建资产报错

    Solution:设置资产弹性域 随便输入一个值 再冻结

  7. .net网站转到出错页是如何实现的

    <customErrors mode="On" defaultRedirect="GenericErrorPage.htm"><error s ...

  8. 关于springMVC的一些常用注解

    ①:@RequestMapping("/helloworld").@RequestMapping(value="/emp", method=RequestMet ...

  9. unbind() 移除事件内处理方法

    实例: 移除所有 p 元素的事件处理器: $("button").click(function(){ $("p").unbind(); }); 定义和用法: u ...

  10. 使用CoreData [2]

    使用CoreData [2] 此篇讲解CoreData处理关系型数据. 1. 先创建出Student于Teacher的实体. 2. 确定关系,并修改描述 3. 创建对象,并查看一下关系(Teacher ...