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. Django基础二之URL路由系统

    一 URL配置 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表.你就是以这 ...

  2. Nginx的文件夹的别名设计&drupal简洁url

    参考:nginx 官方drupal 配置 - Drupal | NGINX 环境:ubuntu14,Nginx1.12, MariaDB5.5.56,PHP7.1.7 需求:1.不同的网站,不要用文件 ...

  3. Angular7 Drag and Drop

    完整代码在最后,下面讲解以此代码为例 1.环境配置 1.1 安装@angular/material.@angular/cdk cnpm install --save @angular/material ...

  4. 将ArcGIS Server的JSON转化为SHP文件

    # -*- coding: utf-8 -*- # -------------------------------------------------------------------------- ...

  5. ArcGIS10.3+Oracle12C+ArcGIS Server10.3安装布署(之二)

    1.创建PDB 输入 dbca 命令 2.安装完成后,连接PDBSDE的容器数据库 3.环境变量 从Oracle的官方网站下载   instantclient-basic-nt-12.1.0.2.0. ...

  6. the interconversion of String and StringBuilder

    package com.itheima_03; /* * StringBuilder和String的相互转换 * * StringBuilder -- String * public String t ...

  7. 记录一次测试环境遇到的push消息记录

    测试环境测试push消息,调用消息中心同事的api接口,感觉怎么都调用不通.纠结了一天,最终发现原因:一是版本的问题,不同的测试包有不同的版本,不同的版本 可能push的消息不同.二是 用户有没有 开 ...

  8. Oracle EBS PO采购订单更新

    DECLARE l_result NUMBER; l_progress NUMBER; l_errors PO_API_ERRORS_REC_TYPE; l_chg PO_CHANGES_REC_TY ...

  9. 退出全屏监听ESC事件

    fullscreenchange事件 fullscreenchange:当窗口大小改变时触发 isFullscreen:全局变量 window.addEventListener("fulls ...

  10. 审计系统---堡垒机项目之用户交互+session日志写入数据库[完整版]

    2018-06-20 时隔一个多月,忘记了之前的所有操作,重拾起来还是听不容易的,想过放弃,但还是想坚持一下,加油. 世界杯今天葡萄牙1:0战胜摩洛哥,C 罗的一个头球拯救了时间,目前有4个射球,居2 ...