Python常用GUI框架原理解析汇总

作者:街角的守望。 时间:2021-05-02 05:13:35 

Graphical User Interface,简称 GUI,又称图形化用户接口,所谓的GUI编程,指的是用户不需要输入代码指令,只通过图形界面的交互就可以操作软件功能。

Tkinter

一个轻量级的跨平台图形用户界面(GUI)开发工具,是Python的自带的官方标准库,安装Python 之后直接导入就可以使用, 我们常见的python IDLE就是使用TKinter实现。

Python常用GUI框架原理解析汇总

它最大的特点就是上手简单, 做个简单的小工具基本够用了,比如登录,计算器,简单的输入输出工具等,缺点是不够美观,功能太单一。

Pyqt

QT是一个C ++编写的跨平台的框架。这是一个非常全面的库。1991年奇趣科技公司开发的C++ GUI应用程序,2014年发布了Qt5.3正式版。

PyQt是Qt库的Python版本,它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版本只能用在Unix上,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。

QT带来的最大好处就是它有一个QT Desiginer,这个设计器可以方便我们进行页面的布局,可以说在Tkinter里面需要一坨坨的代码完成的页面布局,在QT里面只要拖一拖控件就搞定了。

wxPython

wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能健全的 GUI 用户界面。

wxPython开源免费,支持LINUX和WINDOWS,界面本地化好, 功能完善,它也提供类似QT Designer的设计器wxFormbuilder,可以说是个压缩版的QT。

PySide

使用“C++”语言编写的应用程序/用户界面(UI)框架。“PySide”是“Qt”的封装。与PySide的不同之处在于PyQt可以商用。

PyGUI

减少Python应用与平台底层GUI之间的代码量,面向Unix,Macintosh和Windows平台。

Kivy

基于OpenGL ES 2,能够让使用相同源代码创建的程序能跨平台运行。这个框架是事件驱动的,基于主循环,非常适合开发游戏。

Kivy拥有能够处理动画、缓存、手势、绘图等功能。它还内置许多用户界面控件如:按纽、摄影机、表格、Slider和树形控件等。

PyGTK -GTK

在Linux中常用的“GTK+”是“PyGTK”的“GTK +”封装。与Kivy和PyQt相比,它能不加修改的稳定运行在各种操作系统之上,如Linux,Windows,MacOS等。

Flexx

许多Python GUI库基于以其他语言编写的库,例如用C++编写的库有wxWidgets和libavg。但Flexx是用Python创建的,使用Web技术,也正因为如此 Flexx 是跨平台的。只需要有 Python 和浏览器就可以运行

CEF Python

基于Google Chromium,面向Windows,MAC OS和Linux,其主要用于在第三方应用程序中嵌入式浏览器的使用上

Dabo

一个跨平台的应用程序开发框架,基于wxpython的再封装库。它提供数据库访问,商业逻辑以及用户界面

Pyforms

一个用于开发GUI应用程序的Python 2.7 / 3.x跨环境运行框架。

PyGObject

可以为GNOME项目编写Python应用程序,你也可以使用GTK +编写Python应用程序。

关于框架的选择,没有最好的,只有最适合的。其他框架的具体使用和介绍,可以查看官方文档学习:

https://wiki.python.org/moin/GuiProgramming

来源:https://www.cnblogs.com/shuchongzeishuai/p/14041015.html

标签:Python,GUI,框架
0
投稿

猜你喜欢

  • ASP给长的标题加省略号...

    2008-02-22 14:39:00
  • 基于insertBefore制作简单的循环插空效果

    2023-08-17 22:34:17
  • python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例

    2021-09-24 03:11:51
  • asp如何实现点击数的计算?

    2010-05-18 18:39:00
  • python编程学习使用管道Pipe编写优化代码

    2023-08-20 04:08:45
  • 用Python识别人脸,人种等各种信息

    2023-12-22 08:22:17
  • Python通用循环的构造方法实例分析

    2022-03-30 00:03:56
  • HTML头部属性全接触

    2007-09-05 19:09:00
  • Python实现模拟登录及表单提交的方法

    2021-05-28 19:23:12
  • 如何基于Python爬取隐秘的角落评论

    2022-02-17 05:31:43
  • Python数据分析 Numpy 的使用方法

    2023-01-14 15:12:36
  • python直接访问私有属性的简单方法

    2022-09-18 12:03:47
  • 飞扬远程获取类Asp xmlHttp 源码

    2010-04-03 20:37:00
  • Go语言程序查看和诊断工具详解

    2023-06-22 02:40:38
  • 基于Python实现简单的汉字拼音转换工具

    2022-10-03 10:42:35
  • python主线程捕获子线程的方法

    2022-06-07 21:25:46
  • Python 分享10个PyCharm技巧

    2021-11-18 11:03:41
  • 如何运行Python程序的方法

    2023-01-13 07:56:03
  • PHP的RSA加密解密方法以及开发接口使用

    2023-07-13 06:09:20
  • 利用PHP自动生成印有用户信息的名片

    2023-09-10 22:30:56
  • asp之家 网络编程 m.aspxhome.com