Python Qt PySide6 简明介绍

自今天起开学学习教程,有网页介绍,有视频,非常的详细。

现将主要内容摘录如下:(结合自己的实际情况,略有增删和变动)(采用边实践边写的模式)

Python图形界面开发的几种方案

如果用 Python 语言开发 跨平台 的图形界面的程序,主要有3种选择:

  • Tkinter

    基于Tk的Python库,这是Python官方采用的标准库,优点是作为Python标准库、稳定、发布程序较小,缺点是控件相对较少。

  • wxPython

    基于wxWidgets的Python库,优点是控件比较丰富,缺点是稳定性相对差点、文档少、用户少。

  • PySide2/PySide6、PyQt5/PyQt6

    基于Qt 的Python库,优点是控件比较丰富、跨平台体验好、文档完善、用户多。

    缺点是 库比较大,发布出来的程序比较大。

  • PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是最强大的库之一。PyQt是由Phil Thompson 开发。PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。 PyQt采用双许可证,开发人员可以选择GPL和商业许可。这意味着你开发的代码要么选择开源使用、要么需要交纳一定的商业许可费用。目前最新的版本是PyQt6。

    PySide是一个Python的图形化界面(GUI)库,由C++版的Qt开发而来,在用法上基本与C++版没有特别大的差异。相对于其他Python GUI库来说,PySide开发较快,功能更完善,而且文档支持更好。PySide与PyQt相比,前者是Qt公司的产品,是Qt的新儿子,而PyQt是第三方公司的产品,两者语法基本相同,都是Qt在Python上的实现。不过,PySide使用的是LGPL协议,在开发商用代码时,比PyQt更加友好。目前最新的版本是PySide6,对标PyQt6。

    PyQt相对于Tkinter和wxPython来说,功能更加强大。具有更灵活的界面定制开发能力,它采用了DirectUI机制,可以使用类似CSS机制的QSS来设计界面风格。另外,PyQt可以无缝与C++ Qt整合使用,以解决部分性能问题。Qt Designer是PyQt程序UI界面的实现工具,Qt Designer工具使用简单,可以通过拖拽和点击完成复杂界面设计,并且设计完成的.ui程序可以转换成.py文件供python程序调用。PyQt是好,不过上面我们已经提到过,PyQt采用的是双重许可,要么开源你的代码,要么付费闭源使用。我们自己开发一些程序使用倒无所谓,真正用于商业用途时,需要考虑一下法律问题。

    PySide是后起之秀,它比PyQt要晚问世,刚出来的时候由于项目还不完善,缺乏相关文档,所以还不是很火。但是PySide毕竟是Qt的亲生儿子,而PyQt是第三方的,后续又出了PySide2和PySide6(这个跨度有点大,直接从2跳到了6,这也显示了Qt要把PySide做强做大的决心),目前PySide已经日趋完善,再加上PySide是采用的LGPL协议,相信PySide6之后的版本将会成为Python开发者使用Qt的第一选择。

  • PySide6只有PySide6.01兼容Win7操作系统,后续版本包括PySide6.3.1都不兼容Win7操作系统。

  • 我个人感觉,Tkinter过于简单,组件不是很齐全。wxPython组件比较丰富,做一些工具软件或小型软件是完全没问题的。以后做复杂一点的需求,就考虑用PySide6以及后续版本。毕竟它跟wxPython一样也是LGPL协议的,而且PySide6是Qt亲生的。PyQt虽然也很优秀,但是它的双重许可总让人觉得有点忐忑。


  • 的建议是,如果大家要开发小工具,界面比较简单,可以采用Tkinter。

    如果是发布功能比较多的正式产品,采用 基于Qt的 PySide2/PySide6

    本教程介绍的就是 使用 PySide6 开发Python程序的图形界面。

    使用虚拟环境,这样互不干扰。因为我的电脑上已经安装了:Anaconda。新建虚拟环境的过程如下:(win11系统)搜索框中输入:ana,选择:Anaconda Prompt,打开后输入:conda create -n pyside6 python=3.11,(其中:pyside6是自己命名的)。再选择:Y。

    (base) C:\Users\yihan1>conda activate pyside6 (激活虚拟环境pyside6)

    (pyside6) C:\Users\yihan1>conda env list(查询虚拟环境)当前虚拟环境
    # conda environments:
    #
    base                     D:\anaconda3
    mypyqt6                  D:\anaconda3\envs\mypyqt6(以前创建的)
    pyside6               *  D:\anaconda3\envs\pyside6(刚才创建的)
     

    安装 PySide6sjyq

    pip install pyside6

    有的朋友,网络比较慢,可以指定国内的安装源,下载安装。

    比如,使用豆瓣源下载安装:

    pip install pyside6 -i https://pypi.douban.com/simple/

    比如:使用清华大学开源软件下载安装:

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

    查询安装了什么包:

    (pyside6) C:\Users\yihan1>pip list
    Package            Version
    —————— ——-
    pip                23.0.1
    PySide6            6.5.1.1
    PySide6-Addons     6.5.1.1
    PySide6-Essentials 6.5.1.1
    setuptools         67.8.0
    shiboken6          6.5.1.1
    wheel              0.38.4
     

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python Qt PySide6 简明介绍

    发表评论