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. vue三要素及底层实现机制

    深入解析Vue 我们首先来熟悉一下我们这个文档所学习内容的流程. 先对比一下jQuery和Vue的区别,再讲述Vue的MVVM模型,接着讲解Vue的实现流程. 当然,我是不相信没有对比哪来的伤害,没有 ...

  2. php递归获取分类结构

    商城的菜单通常都是树状结构,我们来模仿实现以下. 原理都是相同的,所以我们来个简单点的结构就行.层级只有两层,有两大类:手机和电脑:每个大类下面分别有三个子类: //从数据库获取的分类数据(省略获取步 ...

  3. GIT 这么好用,为什么还是有人不知道怎么用它提交代码?

    客户端代码管理工具的变迁: 从 SVN 到 GIT 截止目前,新版的 APICloud Studio 2 仍然处于公测期.APICloud Studio 2 的代码管理客户端,由 SVN 改为了 GI ...

  4. JavaScript停止冒泡例子

    <!DOCTYPE html><html><head><meta charset="utf-8"><title>qypt ...

  5. 详解php 获取文件名basename()函数的用法

    PHP 中basename()函数给出一个包含有指向一个文件的全路径的字符串,此函数返回基本的文件名,本篇文章收集了关于使用PHP basename()函数获取文件名的几篇文章,希望对大家理解使用PH ...

  6. 关于java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap的错误解决办法

    在JavaEE开发中,在把配置文件中的数据或用户表单提交上来的数据,封装在相应JavaBean的对象的对应属性中时:在实际开发中,使用第三方法工具包BeanUtils(commons-beanutil ...

  7. Flutter完整开发实战详解

    Flutter完整开发实战详解(一.Dart语言和Flutter基础) Flutter完整开发实战详解(二. 快速开发实战篇) Flutter完整开发实战详解(三. 打包与填坑篇)

  8. Acticity的生命周期和启动模式

    典型情况下的生命周期 onCreate 表示创建Acticity,在这个方法中可以做一些初始化的操作,如加载界面布局资源,初始化Activity所需的数据 onRestart 表示重新启动Activi ...

  9. oracle lz047中的REGEXP_LIKE(cust_first_name,'[[:digit:]]')) .

    转自http://blog.csdn.net/dream19881003/article/details/6680982 今天在看OCP题库的时候有一道题是考字段约束的,意思是要在表CUSTOMERS ...

  10. Oracle EBS AP更新供应商地址

    SELECT pvs.vendor_site_id, pvs.party_site_id, hps.party_site_name, hps.object_version_number, hps.pa ...