Qt:是qt公司用c++语言写的一整套界面程序开发库。具有非常丰富的资料。LGPL协议。
PySide:为了支持python语言使用这个qt库,所以qt公司搞了个PySide这个封装库,也就是通过python语言编程,但是底层调用的就是qt库,通过这个PySide这个封装库,用户就只需要编写python语言即可创建界面程序啦。但是配套资料非常少(说明qt公司不主推这个玩意),只能通过c++版的qt库的资料照猫画虎的看。LGPL协议。
PyQt:另外一个公司也是为了支持python语言使用这个qt库,自己搞了这个PyQt封装库,但是资料丰富很多,使用的人好像更多,他们搞这个比qt公司做PySide还早。但是是GPL协议。这个协议对于商用不友好。官网 Riverbank Computing | News 另一个可参考网站Learn Python PyQt | Learn Python PyQt
python如何实现调用qt库的
这里的关键问题在于,python能调用qt原生库吗(c++写的,编译成的各种xx.dll),直接的话是不行的,需要通过一个叫做sip的工具,它可以把qt原生库封装成python绑定(应该是对这些xx.dll做了一层封装,好像是变成了xx.pyd文件)(绑定是作为一组 Python 模块实现的,包含 1,000 多个类。Riverbank Computing | Introduction),然后python语言写的程序中就能直接调用这些库了(而且方法的名字,参数都是一样的,方便了c++开发qt的人和pyqt开发的人互相代码参考了)。qt和python关系_Qt/PyQt 概谈
所以pyqt编写的程序打包出来后,调用的库,就是xx.pyd。我们还会看到一个对应的xx.pyi文件,这个是给IDE用的(IDE中写程序调用这些xx.pyd中的函数,才知道有哪些,如何用),用于代码智能提示的。
所以xx.pyd就相当于c/c++程序中的xx.dll文件,而xx.pyi就相当于c/c++程序中的xx.h文件。使用区别就是:python程序开发中,不需要include xx.pyi,而c/c++程序开发中,需要include xx.h文件。Python pyi文件_hxxjxw的
参考博客:
PySide2和PyQt5区别_生化环材的博客
第15.5节 PyQt的历史沿革介绍 - 老猿Python
其它可以了解的:关于加速python的方法,Cython和Python,CPython之间的关系
Cython 是什么?为什么会有 Cython?_Python猫的博客
python开发的程序,虽然是解释性执行,但是也可以打包成一个exe文件,原理就是把解释器打包进来了,但是这个exe内部:还是解释器在一条一条的解释执行这个python脚本,所以运行速度不会变快。编译成exe,的Python脚本运行速度会变快吗? - 知乎
python编译后的结果文件.pyc文件,可以反编译为python源码文件,用工具 Easy Python Decompiler。Python文件.py||.pyi||.pyc||.pyo||.pyd等各种文件后缀区别_permike的博客
标签:Qt,PySide,python,PyQt,Python,xx,c++,qt From: https://blog.51cto.com/u_13682052/5946882