Qt:https://www.malaoshi.top/show_1EF6CbRBR2Ro.html
PyQt:https://www.malaoshi.top/show_1EF6CbXI44bt.html
本文摘自:https://zhuanlan.zhihu.com/p/75637361
使用PyQt开发商业软件,是需要购买版权的。
PySide的推出比pyQt晚很多,但也有些年头了。由于先前PySide项目不是很完善,又缺乏文档,所以其存在感不高。
Pyside的诞生主要是Nokia(收购了Trolltech的Nokia当时是Qt的爸爸)与Riverbank Computing谈崩了的结果。
Riverbank Computing是pyQt的开发商,对pyQt采用GPLv3协议。Nokia主动与Riverbank Computing展开了多轮协商,表示希望pyQt能添加对LGPL协议的支持,这样对于很多商业用户会更友好,何况你在pyQt里使用的也是我们LGPL协议版本的Qt,这个要求不过分吧。
Riverbank Computing说我觉得不行。
大概是觉得Riverbank Computing吃相难看,Nokia一气之下决定单干,于2009年8月发布了支持了LGPL协议的PySide,pyQt的对标产品。
然鹅,就算你是亲生的,刚生下来也打不过一个壮小伙子,何况你马上就要被过继出去了。。(滑稽)
2011年,Nokia将Qt的商业许可卖给Digia。
2012年,Nokia将Qt完全卖给Digia,后者在2012年年底推出了Qt5。
遭遇人生的重大变故,PySide项目未来如何发展还是个未知数,更不要说支持Qt5了。反观pyQt,在Qt5推出的半年内(2013年6月)就发布了支持Qt5的pyQt5。
一边是生死未卜的只支持Qt4还不完善的主要依靠社区维护的PySide,一边是全面支持Qt4/Qt5的文档健全的pyQt,强弱悬殊,高下立判。
好在Digia收购了Qt后,决定大力度支持Qt全方位发展,并于2014年9月将Qt分拆成一家独立全资子公司The Qt Company,后者于2016年在纳兹达克赫尔辛基上市。
PySide对Qt5提供支持的计划也从2014年开始筹备,也就是2015年上马的Qt for Python项目,该项目开发的模块命名为PySide2,以表示与老一代PySide的不同。
虽说加大了投入,该补的课也绕不开,PySide2在Qt公司和Qt社区开发者的共同努力下,也只在2018年6月才正式发布了第一个版本,稳定性还是个问题。不过从0到1是最难的,后面就容易了,尤其最近发布的Qt 5.12 LTS释放了非常积极的信号,PySide2已经日趋完善,又是亲生的,还有LGPL开源协议的加持,今后PySide2有足够的理由成为Python开发者使用Qt的第一选择。