PySide2 or PyQt5???该如何抉择???

news2024/11/21 0:37:10

1. 区别

Qt库里面有非常强大的图形界面开发库,但是Qt库是C++语言开发的,PySide2、PyQt5可以让我们通过Python语言使用Qt。
但是 PySide2、PyQt5 这两者有什么区别呢?
可以形象地这样说: PySide2 是Qt的 亲儿子 , PyQt5 是Qt还没有亲儿子之前的收的 义子 (Riverbank Computing这个公司开发的)。
那为什么 PyQt5 这个义子 反而比 PySide2 这个亲儿子更出名呢?
原因很简单:PySide2 这亲儿子最近(2018年7月)才出生。
但是亲儿子毕竟是亲儿子,Qt准备大力培养,PySide2 或许更有前途。
已经在使用 PyQt5 的朋友不要皱眉, 两个库的使用 对程序员来说,差别很小:它们的调用接口几乎一模一样。
如果你的程序是PyQt5开发的,通常只要略作修改,比如把导入的名字从 PyQt5 换成 PySide2 就行了。反之亦然。

Python GUI开发首选QT,跨平台。界面好看,功能强大。但是很快你就会发现,这里有2个Python库可供选择,PyQT5和PySide2。
那么究竟是使用PyQT5还是使用PySide2呢?看起来PyQT5名气更大,似乎是个不错的选择。但是别忙,这里我们简单了解一个他们各自的历史。
PyQT是由Riverbank Computing Ltd开发维护的。采用了GPL加商业许可两种许可证模式。这就意味着,如果你的代码使用了PyQT,那么你必须开源你的代码,这是由GPL的传染性决定的。要么如果你不想开源你的代码,你就得购买商业许可证。
正是由于这样的许可模式,导致PyQT商业不友好。于是Nokia(QT的开发者)打算和Riverbank Computing谈判,劝说PyQT采用LGPL(如果只是将采用该许可证的项目做为Library来link,则不需要开源)。LGPL相对来说是商业友好的。但是Riverbank不同意该建议(当然不同意,损失的都是钱呀)。所以,Nokia一气之下,决定开发自己的版本。这就是后来的PySide。PySide和PySide2的区别只在于一个是支持QT5之前的版本,一个是支持QT5的版本。
其实PyQT5和PySide2大部分的接口都是很类似的。只不过PyQT5对QT5的支持完成的比较早,大概在2016年中的样子,PySide2差不多在2年之后才完成对QT5的支持。这就导致了,PyQT5相比较PySide2名气更大一点
不过由于PySide2是QT的亲儿子,根正苗红。所以很快成为的QT的官方版本
好了,了解了2者的区别。我们就知道如何选择了。如果你打算开源你的项目,那么这2个都可以。如果你打算用作商业用途,那么PySide2就相对更友好点。或者不差钱就购买PyQT5的商业版。

参考文章:
https://www.byhy.net/tut/py/gui/qt_01/
https://blog.csdn.net/weixin_39641257/article/details/111640152

2. 结论

之前用的PyQt5开发,最后索性还是选择PySide进行开发,毕竟是Qt的儿子。

pip install pyside2 -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

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

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

相关文章

面向对象程序设计|静态友元

题目一:复数运算 题目描述: 复数类的声明如下 要求如下: 1. 实现复数类和友元函数addCom和outCom; 2. 参考addCom函数为复数类增加一个友元函数minusCom,用于实现两个复数的减法; 3. 在main函数中&…

待办事项JS:DHTMLX To Do List 1.2 cRACK

DHTMLX To Do List用于有效任务管理的DHTMLX JavaScript 待办事项列表 使用 JavaScript/HTML 5 中的待办事项列表来管理您的任务并确定其优先级。将组件连接到 DHTMLX 甘特图,并允许用户以简单直观的方式快速组织他们的业务流程。 DHTMLX JavaScript 待办事项列表的…

chatgpt赋能python:Python建模块最佳实践

Python建模块最佳实践 Python是一种灵活、易于使用的编程语言,因其强大的模块化支持和丰富的第三方模块而备受推崇。本文将介绍Python建模块的最佳实践,以便帮助开发人员创建可重用、可维护和易于测试的Python模块。 基本概念 在Python中,…

创业很长时间以后…

创业过很长时间以后…综合能力是有滴 创业和打工后的思维习惯 为了效率,一般情况是这样滴 趣讲大白话:区别还是有滴 【趣讲信息科技195期】 **************************** 创业还是很难滴 每年成立很多新公司 有很多公司关门 公司平均生存时间&#xff1…

右值引用以及move移动语义和forward 完美转发

右值引用 右值引用最简单的作用:可以避免无谓的复制,提高了程序性能(在移动构造函数中有体现)。 什么是右值 最基本的解释: 左值可以取地址、位于等号左边; 右值没法取地址,位于等号右边。&…

UnityVR--组件9--VideoPlayerAudioSource

目录 前言 视频组件VideoPlayer参数解释 RenderMode渲染方式 VideoPlayer类中的API 音频组件AudioSource参数解释 AudioSource类中的常见API&简单应用 前言 在之前的VR场景中已经使用过VideoPlayer播放视频(Unity.UI的交互(6)-播放…

chatgpt赋能python:Python怎么快速读取一组图片的RGB值?

Python怎么快速读取一组图片的RGB值? 简介 Python是一种非常流行的程序设计语言,它具有易于学习、简洁明了的语法和强大的功能。Python被广泛应用于数据分析、人工智能、科学计算、Web开发、游戏开发等领域。在这篇文章中,我们将介绍如何使…

chatgpt赋能python:Python快速缩进技巧与优化提升

Python快速缩进技巧与优化提升 介绍 在Python中,缩进是代码块的唯一标识符。这种缩进机制使得Python代码看起来更加清晰和易于阅读。同时,正确的缩进也是Python程序能否正常运行的重要因素。然而,大量的缩进可能会导致程序员的效率降低&…

Android系统Handler详解

目录 一,背景介绍 1.1 简介 1.2 核心概念 1.3 Handler 背后的生产者-消费者模型 二,Handler机制原理 2.1 消息模型 2.2 Handler原理概述 2.3 Handler与管道通信 三,实战 3.1 创建 Handler 3.2 子线程向主线程 3.3 主线程向子线程…

C/C++爱心代码“你把握不住的,让哥来~”祝你找到另一半

目录 第一种心形 加点好玩的 最后一忠心形&#xff08;会变色的爱心&#xff09; 618多得图书活动来啦 第一种心形 这次需要用到头文件#include<windows.h> #include<stdio.h> #include<windows.h> 以下是完整代码 #include<stdio.h> #include<…

chatgpt赋能python:Python中如何使用Math库进行数学计算

Python中如何使用Math库进行数学计算 Python是一种功能强大的编程语言&#xff0c;但对于许多数字计算、三角函数和其他复杂的数学问题&#xff0c;Python本身并不提供内置支持。为了解决这些问题&#xff0c;Python提供了一个名为Math的库。本文将介绍如何引入Math库&#xf…

【王道·操作系统】第三章 内存管理【未完】

一、内存管理 1.1 内存的基础知识 内存可存放数据&#xff0c;程序执行前需要先放到内存中才能被CPU处理——缓和CPU与硬盘之间的速度矛盾内存地址从0开始&#xff0c;每个地址对应一个存储单元 按字节编址&#xff1a;每个存储单元大小为1字节(B)&#xff0c;即8个二进制位按…

OJ Prime Gap

目录 1.题目 2.中文翻译 3.题意 4.代码 5.知识点 range的倒序处理&#xff1a; 1.题目 Prime Gap Description The sequence of n − 1 consecutive composite numbers (positive integers that are not prime and not equal to 1) lying between two successive prime…

软考A计划-2023系统架构师-知识点集锦(3/4)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

DAY20:二叉树(十)最大二叉树+合并二叉树

文章目录 654.最大二叉树思路遍历顺序 完整版变量作用域的问题 修改后的完整版递归进一步理解关于终止条件 优化时间复杂度和空间复杂度的优化补充&#xff1a;二叉树的高度logn 617.合并二叉树思路完整版定义新二叉树的写法 654.最大二叉树 本题做的时候也卡了一些问题&#…

Gitlab CI/CD概述

前言 CI/CD 是一种持续开发软件的方法&#xff0c;可以不断的进行构建、测试和部署代码迭代更改。这种迭代有助于减少基于错误或失败的版本进行开发新代码的可能性。使用这种方法&#xff0c;从新代码开发到部署&#xff0c;可以减少人工干预甚至不用干预。 达到持续的方法主要…

Python实例属性和实例方法_类对象、类属性、类方法、静态方法

一、实例属性 实例属性是从属于实例对象的属性&#xff0c;也称为“实例变量”。他的使用有如下几个要点&#xff1a; 实例属性一般在__init__()方法中通过如下代码定义&#xff1a; self.实例属性名 初始值 在本类的其他实例方法中&#xff0c;也是通过self进行访问&#x…

QGIS下载天地图瓦片数据

说明 介绍利用QGIS下载天地图瓦片数据。 关键字:window、QGIS、天地图 环境准备 QGIS版本为3.28.3 基本步骤 一、在Browser面板中找到XYZ Tiles 二、New Connection 参数设置 天地图参数 name:如"天地图影像"url :https://t5.tianditu.gov.cn/DataServer?T=…

U-Mail邮件系统:严防数据泄露 保障企业数据安全

在数字经济时代&#xff0c;数据已经成为企业的核心生产要素&#xff0c;也由此滋生了牟取暴利的黑色产业链&#xff0c;企业数据泄露事件有增无减。根据IdentifyTheft Research Center中心的数据显示&#xff0c;2022年世界范围内的数据泄露事件比2021年增长了14%。其中&#…

chatgpt赋能python:Python如何得出结果:从基础语法到高级算法

Python如何得出结果&#xff1a;从基础语法到高级算法 作为一种流行的编程语言&#xff0c;Python被广泛应用于数据分析、人工智能、Web开发等领域。但是&#xff0c;Python也是一种非常值得学习的SEO工具&#xff0c;它可以帮助你得出有关网站排名、竞争对手分析、关键词选择…