自今天起开学学习教程,有网页介绍,有视频,非常的详细。
现将主要内容摘录如下:(结合自己的实际情况,略有增删和变动)(采用边实践边写的模式)
如果用 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(刚才创建的)
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