Python界面编程第一课:我们开始用Pyside2 (Qt For Python)

首先介绍《我们开始用Pyside2 (Qt For Python)》,因为这是第一课,所以在本文中,我们将不涉及编码部分,但我们将对Pyside2进行一些介绍,并且讨论安装过程。

如果想看关于PyQt 5的文章(英文版),猛击这里 PyQt5 GUI Development Complete Articles ,这也是一个Python编程语言的GUI框架。

Qt For Python (Pyside2)

Qt for Python为Qt提供Python绑定,允许在Python应用程序中使用Qt5的API,它允许Python开发人员充分利用Qt的潜力。PySide2模块提供对各个Qt模块的访问,例如QtCore、QtGui等等。Qt for Python还附带了Shiboken 2 CPython绑定代码生成器,它可以用于为C或C++代码生成Python绑定。

Python界面编程第一课:我们开始用Pyside2 (Qt For Python)_第1张图片

Shiboken2是什么 ?

Shiboken是用于C或C++库的基于CPython的绑定代码生成器。它使用ApiExtractor库解析C或C++头,并使用Clang获取类型信息。该库还可用于解析非QT项目。下图总结了Shiboken在PySide项目中的作用。

Python界面编程第一课:我们开始用Pyside2 (Qt For Python)_第2张图片

类型系统文件(XML)用于指定要公开给Python的类型,并应用修改来正确地表示和操作Python中的类型。例如,可以将方法移除并添加到某些类型,还可以修改每个方法的参数。这些操作不可避免地要正确处理数据结构或类型。这个过程的最终结果是用CPython编写的一组包装器,它可以作为python代码中的一个模块使用。

QML 和 QtQuick

如果你想使用Qml 语言<https://doc.qt.io/qt-5/qmlapplications.html>, 这些模块将帮助您与Python交互。

  • Qt QML : 与QML模块交互的Python基础API。
  • Qt Quick: 提供在Qt应用程序中嵌入Qt Quick的类。
  • Qt QuickWidgets: 提供QQuickWidget类,用于在widget-based的应用程序中嵌入QtQuicklet。

数据可视化 

Charts, diagrams, animations:这些模块提供了大量的类,可以帮助您在UI中使用这些元素。

  • Qt Charts:提供一组易用的图表组件。 
  • Qt Data Visualization: 提供一种在3D中将数据可视化为条形图、散点图和曲面图的方法。

多媒体

音频、视频和硬件的交互:如果您正在寻找多媒体解决方案,可以这些模块。

  • Qt Multimedia: 提供低级多媒体功能。
  • Qt Multimedia Widgets: 提供了widget-based多媒体API。

Web引擎 

如果您的项目基于浏览器或基于Web的应用程序的功能,这些模块将帮助您与它们进行交互。

  • QtWebEngineWidgets: 提供可以处理Web内容的小控件(widgets)。
  • Qt WebChannel: 支持服务器和客户端(HTML/JavaScript或QML应用程序)之间的P2P通信。

PySide 2目前支持许多其他模块,您可以从Qt文档中找到完整的模块列表。

Check all the modules

 

安装

自从预览版发布以来,就可以通过pip安装,既可以从Qt的服务器安装,也可以通过PyPI安装

pip install PySide2

速度太慢的话,改用清华的源

pip3 install PySide2 -i https://pypi.tuna.tsinghua.edu.cn/simple

 

另外,有关安装的更多细节,您可以查看pypi.org

你可能感兴趣的:(Python)