Python常用的12个GUI框架

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

 

1.Tkinter

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

  

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

Introduction to GUI programming with tkinter — Object-Oriented Programming in Python 1 documentationicon-default.png?t=M666http://python-textbok.readthedocs.io/en/1.0/Introduction_to_GUI_Programming.html 

 

2.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里面只要拖一拖控件就搞定了。

Riverbank Computing | Downloadhttps://www.riverbankcomputing.com/software/pyqt/download5 

 

3.wxPython

  

  

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

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

Welcome to wxPython! | wxPythonAll about wxPython, the cross-platform GUI toolkit for the Python languageicon-default.png?t=M666https://wxpython.org/ 

 

4.PySide

 

 

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

PySide Downloads - Qt Wikihttps://wiki.qt.io/PySide_Downloads 

 

5.PyGUI

 

 

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

PyGUIicon-default.png?t=M666https://www.csse.canterbury.ac.nz/greg.ewing/python_gui/ 

6.Kivy

 

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

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

Kivy: Cross-platform Python Framework for NUI DevelopmentOpen source Python framework for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps.https://kivy.org/#home 

7.PyGTK -GTK

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

 

8.Flexx

 

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

Welcome to Flexx’s documentation! — Flexx 1.0 documentationicon-default.png?t=M666https://flexx.readthedocs.io/en/stable/ 

9.CEF Python

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

GitHub - cztomczak/cefpython: Python bindings for the Chromium Embedded Framework (CEF)Python bindings for the Chromium Embedded Framework (CEF) - GitHub - cztomczak/cefpython: Python bindings for the Chromium Embedded Framework (CEF)https://github.com/cztomczak/cefpython 

10.Dabo

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

About the Dabo Application Frameworkhttps://dabodev.com/ 

 11.Pyforms

  

 

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

 Pyforms — Pyforms 4.0 documentationicon-default.png?t=M666https://pyforms.readthedocs.io/

 

12.PyGObject

 

 

 

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

Overview — PyGObjecthttps://pygobject.readthedocs.io/en/latest/


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/283668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP下操作Linux消息队列完成进程间通信的方法

2019独角兽企业重金招聘Python工程师标准>>> 来源:http://www.jb51.net/article/24353.htm 关于Linux系统进程通信的概念及实现可查看:http://www.ibm.com/developerworks/cn/linux/l-ipc/   关于Linux系统消息队列的概念及实现可查看:htt…

.NET 7 发布的最后一个预览版Preview 7, 下个月发布RC

微软在2022年8月9日 发布了.NET 7 Preview 7[1],这是它在11月10日 RTM 之前进入发布候选阶段之前的最后预览版。预览版 7 已在 Visual Studio 17.4 预览版 1 中进行了测试,该预览版也于也与 VS 2022 v17.3 版本一起发布。对于预览版7,开发团队…

2022年全球职业教育行业发展报告

职业教育丨研究报告 核心摘要: 职业教育是职业学校教育与职业培训组成的有机整体,行业参与者除教育培训机构与受训学生外,还涉及企业雇主、行业协会、政府等多方,各群体共同构成密不可分的产业生态。 宏观而言,职业…

C++中STL的一些用法的补充

1 清空vector中的所有元素并释放内存&#xff1a; 1 vector<int*> xx; 2 for(int it0;it!xx.size();it) 3 { 4 delete xx[it]; 5 } 6 xx.clear(); 转载于:https://www.cnblogs.com/jinzhipeng/p/6825585.html

实战Cacti网络监控(1)——基础安装配置

实验环境&#xff1a; 物理主机 redhat7.0 内核版本 3.10.0-123.el7.x86_64 虚拟机 redhat6.5 内核版本 2.6.32-431.el6.x86_64 server10.example.com 172.25.254.10 所需软件包&#xff1a; cacti-0.8.8h.tar.g…

HTTP 3.0为什么彻底放弃TCP

从HTTP/1.0开始&#xff0c;一直到HTTP/2&#xff0c;不管应用层协议如何改进&#xff0c;TCP一直以来都是HTTP协议的基础&#xff0c;主要是因为他能提供可靠连接。 但是&#xff0c;从HTTP 3.0开始&#xff0c;这个情况就有所变化了。 因为&#xff0c;在最新推出的HTTP 3.0中…

《ASP.NET Core 6框架揭秘》实例演示[13]:日志的基本编程模式

《ASP.NET Core 6框架揭秘实例演示[11]&#xff1a;诊断跟踪的几种基本编程方式》介绍了四种常用的诊断日志框架。其实除了微软提供的这些日志框架&#xff0c;还有很多第三方日志框架可供我们选择&#xff0c;比如Log4Net、NLog和Serilog 等。虽然这些框架大都采用类似的设计&…

网络流Dinic算法模板 POJ1273

这就是以后我的板子啦~~~ #include <queue> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define N 444 int tot,next[N],first[N],w[N],v[N],n,m,ch[N]; void add(int from,int to,int weight){v[tot]to;w[tot]…

vue-cli 3.0配置webpack目录别名alias

最近用vue脚手架新建工程的时候&#xff0c;发现vue-cli提供的是3.0.0-beta.6版本&#xff0c;安装完成之后也找不到config、build等目录&#xff0c;不懂要从哪里入手配置别名alias 看了下官方文档&#xff0c;简化成使用vue.config.js来配置项目&#xff0c;一路找到了webpac…

Caffine Cache 及在SpringBoot中的使用

这一篇我们将要谈到一个新的本地缓存框架&#xff1a;Caffeine Cache。它也是站在巨人的肩膀上-Guava Cache&#xff0c;借着他的思想优化了算法发展而来。 本篇博文主要介绍Caffine Cache 的使用方式&#xff0c;以及Caffine Cache在SpringBoot中的使用。 1. Caffine Cache 在…

C#深入.NET平台的软件系统分层开发

今天我们来讲讲分层开发&#xff0c;你从标题能不能简单的认识一下什么是分层呢&#xff1f; 不懂也没关系&#xff0c;接下来我来给你讲讲。 第一章 软件系统的分层开发 &#xff08;1&#xff09;其实分层模式可以这样定义&#xff1a;将解决方案中功能不同的模块分到不同的项…

Blazor University (44)依赖注入

原文链接&#xff1a;https://blazor-university.com/dependency-injection/依赖注入依赖注入概述依赖注入是确保类保持松散耦合并使单元测试更容易的最佳实践软件开发技术。以使用第三方服务发送电子邮件的服务为例。传统上&#xff0c;任何需要使用此服务的类都可能创建一个实…

productFlavors设置signingConfig不管用的问题

2019独角兽企业重金招聘Python工程师标准>>> 在buildTypes release里面添加&#xff1a; productFlavors.dev_.signingConfig signingConfigs.devSign productFlavors.alphaTest_.signingConfig signingConfigs.devSign productFlavors.betaTest_.signingConfig si…

【转】基于jquery,bootstrap数据验证插件bootstrapValidator 教程

bootstrap&#xff1a;能够增加兼容性的强大框架. 因为项目需要数据验证&#xff0c;看bootstrapValidator 还不错&#xff0c;就上手一直&#xff0c;完美兼容&#xff0c;话不多说。 需要引用css&#xff1a; bootstrap.min.css bootstrapValidator.min.css js: jquery-1.10.…

三招从 20s 优化到 500ms

来源 | 苏三说技术 作者 | 苏三呀 前言 接口性能问题&#xff0c;对于从事后端开发的同学来说&#xff0c;是一个绕不开的话题。想要优化一个接口的性能&#xff0c;需要从多个方面着手。 本文将会围绕接口性能优化这个话题&#xff0c;从实战的角度出发&#xff0c;聊聊我是…

Linux学习之服务器搭建——DHCP服务器

通过前面基础网络配置已经将两台虚拟机连接起来了&#xff0c;在windows 下是将它和Centos设为统一网段&#xff0c;在DHCP里同样不变&#xff0c;改变的是将windows 所配置的静态IP全部换成“自动获取DHCP”而在接下来的操作&#xff0c;就是让我的windows 自动获取来自Linux …

WPF 动态切换黑|白皮肤

WPF 动态切换黑|白皮肤WPF 使用 WPFDevelopers.Minimal 如何动态切换黑|白皮肤作者&#xff1a;WPFDevelopersOrg原文链接&#xff1a; https://github.com/WPFDevelopersOrg/WPFDevelopers.Minimal框架使用大于等于.NET40&#xff1b;Visual Studio 2022;项目使用 MIT 开源…

中小企业虚拟化解决方案-VMware vSphere 6.5-日常管理入口v0.0.1

中小企业虚拟化解决方案-VMware vSphere 6.5日常管理入口v0.0.1本文目的&#xff1a;针对中小企业虚拟化的平台管理&#xff0c;涉及到很多管理入口&#xff0c;普通管理员未必知道从哪里管理?本文将从最底层到最高层进行简单的介绍&#xff0c;最终让普通管理员快速了解管理入…

Svn服务器的搭建与配置

本文由ilanniweb提供友情赞助&#xff0c;首发于烂泥行天下想要获得更多的文章&#xff0c;可以关注我的微信ilanniweb要把svn代码同步到git服务器上&#xff0c;本来是想通过subgit直接同步进行就行了。但是自已以前没有搭建过svn服务器&#xff0c;所以有了这篇文章。我们就来…

JAVA Future类详解

1. Future的应用场景 在并发编程中&#xff0c;我们经常用到非阻塞的模型&#xff0c;在之前的多线程的三种实现中&#xff0c;不管是继承thread类还是实现runnable接口&#xff0c;都无法保证获取到之前的执行结果。通过实现Callback接口&#xff0c;并用Future可以来接收多线…