推荐10款Python图形界面(GUI)框架以及使用PyQt6和QtDesigner快速开发

news2024/9/25 15:22:37

9个国外最佳免费编程学习一站式网站
在这里插入图片描述

http://www.360doc.com/content/22/1024/17/63953942_1053111478.shtml
QT文档
https://doc.qt.io/
在这里插入图片描述

QtDesigner pyqt6
https://blog.csdn.net/lyshark_lyshark/article/details/125847218
https://doc.qt.io/qtforpython-6/contents.html
Pycharm中配置PyQt/PySide开发工具Qt Designer、PyUIC、PyRcc(详细)并使用
https://blog.csdn.net/python_sy/article/details/127427968
PyQt窗口设计之Qt Designer
https://blog.csdn.net/Itsme_MrJJ/article/details/122668802
调用DtDesigner生成的py文件
https://realpython.com/qt-designer-python/
布局
https://blog.csdn.net/weixin_45651336/article/details/113487786
https://wenku.baidu.com/view/88e115d4fa0f76c66137ee06eff9aef8941e480a.html?wkts=1687915193078&bdQuery=%E5%BC%B9%E6%A1%86%E4%BA%8B%E4%BB%B6Qt_Designer
https://www.jb51.net/article/274569.htm
在这里插入图片描述

PyQt与PySide之间的不同,两者的不同主要是由于历史引起的,最初Qt的母公司是Nokia,后来riverbank computing公司开发了Python版本的Qt,这就是最初的PyQt了,但是PyQt有两种许可协议,一种是GPLv3许可协议,另一种是需要授权的商业许可协议,GPLv3许可协议是指,如果的你的程序引用了该协议的程序,则你的程序也必须开源,如果你想要商业闭源,则必须购买该公司的商业许可协议。后来Nokia公司希望PyQt的GPLv3协议修改改LGPLv3协议,可以吸引更多的商业用户,但是riverbank computing公司拒绝了,因此,Nokia公司单干,推出了PySide,这就是PySide的由来。PySide是LGPL协议,LGPL协议是一个商业友好的协议使用 LGPL 协议开发闭源程序,如果你使用动态链接的形式,那么,你可以以任何形式(商业的、非商业的、开源的、非开源的等等)发布你的应用程序,后来,Nokia将Qt和PySide卖给了Digia,在Digia大力支持了,PySide从PySide2到现在的PySide6,在资料和组件支持方面与PyQt基本没有太大的差别。总体来说,PySide6与PyQt6之间的最大的差别在于它们的许可协议上,而PySide6许可协议更友好,并且也是Qt官方公司主推的框架,相信后续会变得更好。

推荐10款Python图形界面(GUI)框架
Python就有大量用于开发GUI的框架,下面给大家介绍10个框架供你选择。
Dear PyGui
官网:
https://pypi.org/project/dearpygui/

Dear PyGui是一个简单易用、功能强大的Python GUI框架。

Dear PyGui使用了在电子游戏中很流行的即时模式范式。这基本上意味着动态GUI是逐帧独立绘制的,不需要持久化任何数据。

Dear PyGui提供了DearImGui的包装,它是一个用Dear ImGui构建的库,它模拟了传统的保留模式 GUI(与Dear ImGui的即时模式范例相反)。

PyQt6
官网:
https://pypi.org/project/PyQt6/

PyQt 包是围绕 Qt 框架 构建的,这是一个跨平台框架,用于为各种平台创建大量应用程序。PyQt6 包包含一组详细的 Python 绑定,基于 Qt 应用程序框架的最新版本 v6。

通过利用 PyQt6 的强大功能,开发人员可以为 Windows、Mac、Linux、iOS、Android 等平台构建应用程序。在创建 GUI 时,PyQt6 武器库提供了令人印象深刻的QtGui和QtDesigner 模块,它们提供了许多视觉元素,开发人员可以通过简单的拖放来实现。

当然,也可以选择通过代码创建这些元素,让你轻松创建小型和大型应用程序。Python 的模块化以扩展的形式渗透到 PyQt6,为你提供更多功能,而不仅仅是 GUI 构建。

PyGObject
官网:
http://pygobject.readthedocs.io/en/latest/getting_started.html

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

Urwid
官网:Overview - Urwid 2.1.2

Urwid 包含了众多开发文本 UI 的特性,例如:

应用窗口自适应

文本自动对齐

轻松设置文本块

强大的选择框控件

可以和各种基于事件驱动的框架集成,比如和 Twisted[6], Glib[7], Tornado[8] 等等

提供诸如编辑框、按钮、多(单)选框 等多种预制控件

显示模式支持原生、Curses模式、LCD 显示屏 以及 网络显示器

支持 UTF-8 以及 CJK 字符集(可以显示中文)

支持多种颜色

看看效果:

消息框

多字体

色彩

Tkinter
官网:
https://docs.python.org/zh-cn/3/library/tkinter.html

Tkinter通常被大多数Python开发人员称为首选GUI工具包,创建Tkinter是为了给现代开发人员提供Tk GUI工具包的标准接口和它的Python绑定。在Tkinter的世界里,我们所熟悉的大多数可视化元素都被称为小部件,每个小部件都提供了不同级别的可定制性。

Tkinter被整合到当前所有主要操作系统的Python安装程序中,并提供了一系列我们确信你一定熟悉的常用元素。下面列出了一些视觉元素:

Frame:为你的应用程序提供一个结构

按钮:用于获取用户的输入

复选按钮:用于进行选择

标签:用于显示文本信息

文件对话框:用于在应用程序中上传或下载文件

画布:为绘制图形和情节提供空间

wxPython
官网:https://www.wxpython.org/

wxPython 是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。 wxPython 是作为优秀的跨平台 GUI 库 wxWidgets 的 Python 封装和 Python 模块的方式提供给用户的。

就如同Python和wxWidgets一样,wxPython也是一款开源软件,并且具有非常优秀的跨平台能力,能够运行在32位windows、绝大多数的Unix或类Unix系统、Macintosh OS X上。

Flexx
官网:
https://flexx.readthedocs.io/en/stable/

Flexx 是一个纯 Python 工具包,用来创建图形化界面应用程序。其使用 Web 技术进行界面的渲染。你可以用 Flexx 来创建桌面应用,同时也可以导出一个应用到独立的 HTML 文档。因为使用纯 Python 开发,所以 Flexx 是跨平台的。

Kivy
官网:Kivy: Cross-platform Python Framework for NUI

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

pyGtk
官网:
https://www.oschina.net/p/pygtk

PyGTK让你用Python轻松创建具有图形用户界面的程序.底层的GTK 提供了各式的可视元素和功能,如果需要,你能开发在GNOME桌面系统运行的功能完整的软件。

PyGTK真正具有跨平台性,它能不加修改地,稳定运行各种操作系统之上,如Linux,Windows,MacOS等.除了简单易用和快速的原型开发能力外,PyGTK还有一流的处理本地化语言的独特功能。

Pywin32
官网:
https://www.oschina.net/p/pywin32

Windows Pywin32允许你像VC一样的形式来使用PYTHON开发win32应用。代码风格可以类似win32 sdk,也可以类似MFC,由你选择。如果你仍不放弃vc一样的代码过程在python下,那么这就是一个不错的选择。

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

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

相关文章

途乐证券股票开户官网|CPO板块早盘大跌,两家近千亿巨头跌停

6月28日周三,A股集体低开,三大指数均一度跌超1%。 截至目前,沪指跌0.80%,深成指跌1.28%,创业板指跌0.91%。 盘面上,电力、煤炭开采加工等板块涨幅居前,泛AI、游戏、数据要素、光模块、传媒等方…

Stringbuffer的学习

1.构造方法 这里就看出String和Stringbuffer最主要的区别了 byte[]value不是final // 1.空参创建 这里 默认初始长度出现了,16public StringBuffer() {super(16); } // 2.定容创建,如果知道使用长度其实还好,因为他会扩容public StringBuf…

MySQL数据库——存储过程

MySQL数据库——存储过程 一、MySQL存储过程概念二、存储过程1.创建存储过程2.调用存储过程3.查看存储过程4.存储过程的参数5.删除存储过程 三、存储过程的控制语句1.条件语句if-then-else end if2.循环语句while end while 一、MySQL存储过程概念 存储过程是一组为了完成特定…

四、云尚办公-用户管理

云尚办公系统:用户管理 B站直达【为尚硅谷点赞】: https://www.bilibili.com/video/BV1Ya411S7aT 本博文以课程相关为主发布,并且融入了自己的一些看法以及对学习过程中遇见的问题给出相关的解决方法。一起学习一起进步!!&#x…

【2023,学点儿新Java-26】关键字介绍+示例代码:assert 断言(如何启用断言),以 验证一个数组的长度是否不为零 为例说明

前情回顾: 【2023,学点儿新Java-25】如何解决浮点计算存在误差:strictfp | 如何保护敏感信息,提高程序的可靠性和安全性:transient | 附:Java异常处理关键字介绍【2023,学点儿新Java-24】abstr…

yaffs文件系统测试

1.前面我制作好了文件系统烧到开发板运行后,出现了如下错误 2.网上查找后,有人说是因为 arm-linux-gnueabi-4.9xx版本太高,它的libc不支持arm9,于是我们换成arm-linux-gcc-4.3.2试试,arm-linux-gcc-4.3.2下载地址&…

【妙趣横生】用matplotlib绘制平均线,让你的数据可视化变得活灵活现!

大家好,今天我要跟你们分享一个超有趣的技巧——如何用matplotlib库绘制平均线,让你的数据可视化更加生动活泼! 第一步:获取数据 我们首先需要将Excel表中的数据读取进来,这样才能绘制出精彩的图表。咱们可以使用pand…

在Fligma打开Android Material 3 Design组件规格颜色大小等

打开Material 3 Design Kit 链接:链接: Material 3 Design Kit 打开后点击右上方Open in Figma(提前注册Figma账号) 点击左侧方菜单栏中的Componenets选项查看M3组件规格

【JavaWeb】统一响应,并渲染在网页

一、需求描述 获取数据,返回统一响应结果,再在页面渲染展示。 二、知识点 1、在前端代码emp.html中,在页面加载时,通过vue的mounted方法发起异步请求来加载数据,在成功回调函数中判定响应回来的code的值&#xff0c…

个人总结 - IP代理池的思考

前言 今天话有点多,连续发了几篇博客,主要平常忙的话就没时间关注博客这块,今天兴致在,就勤快点哈哈 一般公司除非有钱,他可以购买ip服务器,或者大量高质量ip,但是有的时候,公司经…

高压放大器如何驱动压电陶瓷片

高压放大器是一种常用于驱动压电陶瓷片的电路,其基本原理是利用高压放大电路将低电压信号放大到足以驱动压电陶瓷片所需的高电压信号。在本文中,我们将介绍高压放大器如何驱动压电陶瓷片的具体方法和步骤。 图:压电陶瓷片 一、驱动压电陶瓷片…

三种方法教你:Allegro文件导入SIwave仿真

导入仿真工具进行信号完整性(SI)仿真是PCB设计中的关键步骤之一,但很多小白可能不太清楚该如何导入,下面将聊聊如何通过Allegro软件导入SIWave仿真,希望对小伙伴们有所帮助。 01 使用SIwave的直接导入功能 SIwave提供…

PADS 出gerber 20230628

PADS出gerber 20230628 TOP BOTTOM Solder MASK TOP 阻焊层 绿油层,可以用来露焊盘的 Paste Mask TOP 钢网层 Paste Mask Bottom Silkscreen TOP 丝印层 Solder MASK Bottom Silkcreen Bottom TOP层 L1 注意:电气层L1 L2 L3 L4不能勾选文本…

三维3D扫描仪工艺品摆件仿制翻模雕塑三维数字化3D打印-CASAIM

三维扫描技术在工艺品摆件仿制、翻模、3D打印、三维数字化方面发挥着重要作用。通过三维扫描技术,能完整还原工艺品的真实原貌,为复制经典艺术品提供了更精确和更环保的方法,最终精确保存细节、完美进行复制,并为以后的3D打印、三…

二叉树及其遍历方式!

二叉树 什么是二叉树? 树中每个节点最多只能有两个子节点,在 JavaScript 中一般都是通过 Object 来模拟二叉树。 常用操作 前序遍历中序遍历后序遍历 前序遍历 根左右。 口诀: 访问根节点对根节点的左子树进行前序遍历对根节点的右子…

使用python实现一个快速高斯模糊算法

在gimp的retinex里面使用了一个快速计算的高斯模糊,论文应该是Recursive Implementation of the gaussian filter,是使用一些多项式计算来近似计算高斯分布,这样能够大大减少计算。 将retinex源码给抽离出来,并使用python进行实现…

线性表的定义和基本操作(以顺序表为例)

名人说:一花独放不是春,百花齐放花满园。——《增广贤文》 作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 〇、线性表是什么?1、定义2、特点3、基本操作 一、代码实现二、思路阐明…

统计图echarts和antd charts的那些事

以下记录的是,我在学习中的一些学习笔记,这篇笔记是自己学习的学习大杂烩,主要用于记录,方便查找,如需转载请著名原文作者和地址 一、echarts 相关 ##1、echarts 在react的使用 npm install echarts --save //初始化…

[web]前端富文本编辑器

关于富文本编辑器 在HTML中&#xff0c;用于输入文本的只是<input type"text"/>和<textarea>这2种标签&#xff0c;这些标签都只能输入纯文本&#xff0c;不可以对输入的内容进行编排&#xff01; 在实际应用时&#xff0c;例如发布文章&#xff0c;需要…

asdasdadsadsadsc

C中类和结构体的区别 类中默认权限是私有&#xff0c;结构体内默认权限是公有结构体的默认继承方式是public&#xff0c;类的默认继承方式是privat