草庐IT

这13个Python GUI库,正在学习Python的你必须知道

轻松学Python 2023-03-28 原文

Python是一种高级编程语言,它用于通用编程,由Guido van Rossum 在1991年首次发布。Python 的设计着重于代码的可读性。

Python有一个非常大的标准库,并且有一个动态类型系统,它还具有自动内存管理功能,支持多种编程范例。这些包括:

● 面向对象

● 命令式

● 函数式

● 程序式

图形用户界面(GUI)

GUI是一个人机交互的界面。换句话说,它是人类与计算机交互的一种方法。它使用窗口,图标和菜单,也可以通过鼠标和键盘进行操作。

GUI库

GUI库是在编写软件时,需要图形用户界面(GUI)所需要的库。在构建程序的GUI时,通常使用层叠方式,图形控制元素直接叠加在一起。

Python GUI

当你使用python编写应用程序时,你就一定要使用GUI。Python GUI的选择有很多。目前来说,Python GUI程序库有30多个跨平台框架。现在就列出其我认为最好的13个:

  1. Tkinter

是一个轻量级的跨平台图形用户界面(GUI)开发工具,是Tk图形用户界面工具包标准的Python接口,目前可以运行于绝大多数的Unix平台、Windows和Macintosh系统(Tkinter教程页面:http://python-textbok.readthedocs.io/en/1.0/Introduction_to_GUI_Programming.html)

  1. Flexx

许多Python GUI库基于以其他语言编写的库,例如用C++编写的库有wxWidgets和libavg。但Flexx是用Python创建的,使用Web技术,也正因为如此 Flexx 是跨平台的。只需要有 Python 和浏览器就可以运行。(教程地址:http://flexx.readthedocs.io/en/latest/)

  1. CEF Python

该框架基于Google Chromium,面向Windows,MAC OS和Linux,其主要用于在第三方应用程序中嵌入式浏览器的使用上。(项目地址:https://github.com/cztomczak/cefpython)

  1. Dabo

 

 

Dabo是一个跨平台的应用程序开发框架,基于wxpython的再封装库。它提供数据库访问,商业逻辑以及用户界面。(项目地址:https://dabodev.com/)

 

  1. Kivy

 

 

Kivy基于OpenGL ES 2,能够让使用相同源代码创建的程序能跨平台运行。这个框架是事件驱动的,基于主循环,非常适合开发游戏。(项目地址:https://kivy.org/#home)

  1. Pyforms

 

 

Pyforms是一个用于开发GUI应用程序的Python 2.7 / 3.x跨环境运行框架。(项目地址:https://pyforms.readthedocs.io/en/v3.0/)

  1. PyGObject

 

 

通过PyGObject,你可以为GNOME项目编写Python应用程序,你也可以使用GTK +编写Python应用程序。(项目地址:http://pygobject.readthedocs.io/en/latest/getting_started.html)

  1. PyQt

Qt是一个跨平台的框架。它是用C ++编写的。这是一个非常全面的库。它包含许多工具和API。它被广泛应用于许多行业。它涵盖了很多平台。PyQt是Qt库的Python版本。PyQt3支持Qt1到Qt3。 PyQt4支持Qt4。(项目地址:https://www.riverbankcomputing.com/software/pyqt/download5)

# Python学习交流裙 592539176

 

  1. PySide

Qt(cute)是使用“C++”语言编写的应用程序/用户界面(UI)框架。“PySide”是“Qt”的封装。与PySide的不同之处在于PyQt可以商用。(项目地址:https://wiki.qt.io/Category:LanguageBindings::PySide::Downloads)

  1. PyGUI

PyGUI的一个主要目的就是尽量减少Python应用与平台底层GUI之间的代码量,面向Unix,Macintosh和Windows平台(项目地址:http://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/)

  1. libavg

这是一个第三方库,用C ++编写的。它具有以下特性:

● 以Python变量的形式显示元素

● 事件处理系统

● 计时器

● 日志支持(项目地址:https://www.libavg.de/site/)

  1. PyGTK

在Linux中常用的“GTK+”是“PyGTK”的“GTK +”封装。与Kivy和PyQt相比,它能不加修改地,稳定运行各种操作系统之上,如Linux,Windows,MacOS等(项目地址:https://github.com/GNOME/pygtk)

  1. wxPython

wxPython 是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。 (项目地址:https://wxpython.org/)

上面介绍的这些GUI框架,涵盖了大部分开发人员的需要。你可以根据你自己的需求,选择适合你的GUI库。

有关这13个Python GUI库,正在学习Python的你必须知道的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  3. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  4. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  5. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

  6. ruby - 安装libv8(3.11.8.13)出错,Bundler无法继续 - 2

    运行bundleinstall后出现此错误:Gem::Package::FormatError:nometadatafoundin/Users/jeanosorio/.rvm/gems/ruby-1.9.3-p286/cache/libv8-3.11.8.13-x86_64-darwin-12.gemAnerroroccurredwhileinstallinglibv8(3.11.8.13),andBundlercannotcontinue.Makesurethat`geminstalllibv8-v'3.11.8.13'`succeedsbeforebundling.我试试gemin

  7. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  8. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  9. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  10. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

随机推荐