当前位置: 首页 > article >正文

[python]从零开始的PySide安装配置教程

一、PySide是什么?

        PySide 是 Qt for Python 项目的一部分,它提供了与 PyQt 类似的功能,使开发者能够使用 Python 编程语言来构建基于 Qt 的图形用户界面 (GUI) 应用程序。PySide 是由 Qt 公司官方维护的,而 PyQt 则是由第三方开发的。

        PySide 支持多个平台,包括 Windows、macOS、Linux 等,这意味着你可以编写一次代码,然后在不同的操作系统上运行。这使得 PySide 成为开发桌面应用程序的强大工具。

        Qt 是一个功能强大的 C++ GUI 框架,而 PySide 为 Python 提供了与 Qt 交互的接口。你可以使用 Qt 中的几乎所有组件,如窗口、小部件、布局、图形、动画等,来构建复杂的图形界面应用。

        PySide 和 Qt 框架本身一样,都是高度面向对象的。这使得 GUI 设计更为灵活,可以轻松扩展和修改代码。PySide 提供了对 Qt 中所有类和功能的访问,因此开发者可以利用 Qt 的丰富功能,比如信号与槽机制。

         PySide 提供了广泛的模块支持,涵盖了图形用户界面、图形渲染、多媒体、网络、数据库等常用开发功能。

        简单点来说,PySide是一款QT官方支持的基于Python构建用户程序的框架。我们能够使用PySide高效的构建图形化用户程序并且生成python代码,下面我们就来详细了解一下PySide的安装和配置吧!

二、PySide的安装准备

        在正式开始安装PySide之前,我们需要进行一些准备。因为PySide是基于Python,所以我们首先需要有Python或者Python的虚拟环境。后面这两种方式我都会演示,如果你还不会安装Python或者Python的虚拟环境,可以参考下面的文章:

Python的安装:[python]我们应该如何正确的安装和卸载python?(详细)_卸载python重新安装-CSDN博客

Python虚拟环境的安装:[python]我们应该如何安装Miniconda虚拟环境?(详细)_miniconda创建虚拟环境-CSDN博客

这里我们使用的虚拟环境主要是Conda。在后续的演示中,也会用Conda和直接安装的Python进行演示。后面也会有安装Python的步骤,但是不会很详细,如果你是新手,请查看上面的文章来安装Python。

        我们还需要准备一个IDE用来快捷的编辑PySide生成的文件以及快捷的调用PySide中提供的工具。这里可以选择VS code或者Pycharm,下面的教程中我会使用Pycharm进行演示,如果你还不会安装Pycharm可以参考下面的教程:

pycharm安装教程:[python]我们应该如何正确的安装和汉化pycharm,并且导入开发环境?_python汉化-CSDN博客

当你安装好pycharm后就可以开始安装PySide了。

三、PySide的安装

        下面我会演示如何在系统的Python中和在conda的虚拟环境安装PySide。下面我们分情况讨论:

1.在系统Python中安装PySide

        既然我们要在系统的Python中安装PySide,我们首先就要在系统中安装一个Python。下面是一个简略的Python安装步骤,如果你想看详细的Python安装教程还请看上面的Python安装教程。

我们现在系统中安装Python,去到Python的官网下载Python的安装包,这里我选择的是Python3.9:

我们将其下载到一个我们能找到的文件夹中:

下载好以后,双击这个应用程序安装:

这里大家要和我勾得一样,不然有的包不会安装,安装前自己修改一下路径:

等待安装完成即可:

出现下面的界面就表示Python就已经安装成功了:

在Python安装成功以后,我们可以在终端中输入python来测试一下:

如果这里出现版本号,那么Python的安装就是正常的。

下面我们就可以来安装PySide了。这里我们使用pip工具直接安装即可。大家可以在终端中输入“pip list”来检查自己的pip版本:

这里可以看到,我的pip版本是21.2.4,如果你的python版本不同,可能对应的pip版本也不同。如果你输入“pip list”提示你这是外部命令或者命令找不到,那你可能需要检查一下安装时有没有将pip勾上。当然,在安装时没有勾上pip导致现在pip无法使用其实也有别的办法,我们可以直接在终端中输入下面得命令安装pip:

python -m ensurepip --default-pip

如果安装成功了,会收到下面的提示:

当你安装成功以后,再使用“pip list”命令应该就能查询到pip的版本了。

使用下面的命令更新pip,我们需要将pip更新到一个比较新的版本,防止拉取库时出现报错:

python -m pip install --upgrade pip

这里需要注意,大家如果使用的是官方源,可以使用代理来解决访问慢的问题,如果大家使用的是国内源,请关闭代理,如果代理开着是很容易报错的。

如果你使用官方源下载很慢,但是你又不会使用代理,可以使用下面的命令将pip的源换为国内源:

# 清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 换回默认源
pip config unset global.index-url

在我们将pip更新完成以后就可以进行下一步了。当然,这里也可以不更新,不更新的话出问题的概率会大些。

我们使用下面的命令来安装PySide:

pip install PySide6

注意,这里的6不能省略,如果我们将这里的6省略,pip会默认安装老版本的PySide,因为我们用的是新版本的Python,如果使用老版本的PySide,就会报错。

可以看到,这里已经提示我们,已经安装好了,并且安装了很多包:

我们使用“pip list”来查看一下已经安装的包,发现PySide已经在其中了:

至此,在系统中的Python安装PySide就已经完成了。下面我会讲解如何在conda环境中安装PySide,如果不想看的话,可以直接跳到后面的配置阶段。

2.在虚拟环境中安装PySide

        这里我们使用的虚拟环境主要是Conda的虚拟环境,因为虚拟环境的安装非常简单,这里我就不多说的。如果你还不会安装Conda或者是还不会Conda的基本操作,建议看下面的文章:

Conda的安装及基本使用:[python]我们应该如何安装Miniconda虚拟环境?(详细)_miniconda创建虚拟环境-CSDN博客

当我们安装好Conda后就可以进行下一步了,这里我们打开Conda的Powershell命令行:

在Conda启动以后,我们就可以创建一个虚拟环境了:

使用下面的命令创建Conda的虚拟环境,这里我们创建一个名为“PySide”的虚拟环境:

conda  create --name pyside python=3.9

在创建好虚拟环境后,我们使用下面的命令进入虚拟环境:

conda activate pyside

进入虚拟环境以后,我们同样可以使用“pip list”来查看已经安装的软件包:

我们在虚拟环境中,同样使用下面的命令安装PySide:

pip install PySide6

这里的6同样的不能省略。

在安装完成以后,我们同样使用“pip list”来查看已经安装的包:

这里可以看到PySide已经安装成功了。

至此,我们在虚拟环境中安装PySide就已经完成了。

四、在Pycharm中配置PySide

        经过了上面的步骤,我们的PySide就已经安装成功了。下面,我们会教大家怎么将我们安装的PySide配置到Pycharm中,同样的,这里不管你是在系统中的Python环境安装的PySide还是在虚拟环境中安装的PySide都我都会讲,既然是在Pycharm中配置,那么我们首先就需要安装Pycharm,如果你还没有或者不会安装Pycharm可以参考下面的文章:

安装和汉化Pycharm:[python]我们应该如何正确的安装和汉化pycharm,并且导入开发环境?_python汉化-CSDN博客

1.在Pycharm中配置系统Python环境中的PySide

        这里我们首先启动我们的Pycharm:

下面,我们将我们系统中的Python环境导入Pycharm,当然,详细的配置教程在Pycharm的安装教程中就已经讲得很详细了,这里简单的讲一下,如果你还不会配置的话,就去看上面的Pycharm的安装和配置教程吧。

我们首先新建一个项目,如图:

我们再为这个项目添加解释器:

这里我们点击“添加解释器”:

再点击“添加本地解释器”:

这里点击“系统解释器”:

然后把我们安装在系统中的Python的路径中的“python.exe”选中进来:

这里可以看到,我们的系统解释器的路径已经出现在,这里了,之后的窗口一路确定即可:

在这里可以看到,我们添加了解释器以后,我们安装的python库也显示在这里了:

我们在我们的项目中新建一个.py的文件,名字可以随意,我们在这个.py的文件中输入下面的测试代码:

import sys
from PySide6.QtWidgets import QApplication, QFrame
from PySide6.QtCore import QCoreApplication, QMetaObject  # 添加 QMetaObject 导入

class Ui_Frame(object):
    def setupUi(self, Frame):
        if not Frame.objectName():
            Frame.setObjectName(u"Frame")
        Frame.resize(400, 300)

        self.retranslateUi(Frame)
        QMetaObject.connectSlotsByName(Frame)  # 确保 QMetaObject 正确导入

    def retranslateUi(self, Frame):
        Frame.setWindowTitle(QCoreApplication.translate("Frame", u"Frame", None))

if __name__ == "__main__":
    app = QApplication(sys.argv)
    frame = QFrame()
    ui = Ui_Frame()
    ui.setupUi(frame)
    frame.show()
    sys.exit(app.exec())

输入上面的代码以后,我们右键点击“运行”:

代码运行以后,应该会弹出一个小窗口,如图,当然,我这里的窗口是黑色的,你的可能是白色的。当然,只要弹出了就表示PySide是安装成功的:

当然,如果你在运行代码以后,没有弹出小窗口,并且还伴随着报错。那可能就要考虑一下是不是PySide没有正常安装,检查自己安装的是不是PySide6。可以根据报错信息来分析问题。

当我们确定PySide是正常的以后,我们就可以将PySide相关的工具添加在Pycharm中,因为PySide相关工具在PySide安装时就已经安装好了,所以我们直接添加即可。我们可以打开Python的安装目录:

我们进入Python安装目录中的“Scripts”文件夹:

进来以后,我们可以看到非常多的.exe文件,其中也包括的PySide相关的exe,这些都是在PySide安装时被一同安装的工具:

当然,这么多工具我们不用全部添加,只需要添加三个即可,这里我们要往Pycharm中添加“pyside6-designer.exe”,“pyside6-rcc.exe”,“pyside6-uic.exe”:

下面,我们来分别介绍一下,这三个工具的作用:

pyside6-designer.exe:这是一个图形化界面设计工具,用于创建 Qt 界面布局。你可以拖放按钮、文本框等 GUI 元素来设计应用程序的界面,最后生成 .ui 文件

pyside6-rcc.exe:用于将 Qt 资源文件(如图像、样式表等)转换成 Python 代码。你可以将资源文件嵌入到应用程序中,生成的 Python 文件可以直接在应用中使用。

pyside6-uic.exe:这是 Qt UI 编译器,用于将 .ui 文件(由 pyside6-designer.exe 创建的文件)转换为 Python 代码。这样你就可以在 Python 项目中直接使用这些生成的界面代码,而无需手动编写界面布局。

了解了这些工具的路径以后,我们继续回到Pycharm中,我们再次点击设置:

再点击弹出的窗口中的“工具”中的“外部工具”:

我们点击+号:

我们现在就可以将工具添加进来:

这里我们首先添加“pyside6-designer.exe”,这里就可以将名字写为“designer”当然,大家也可以自己写自己喜欢的名字:

这里的“描述”我们可以不填,下面的程序,我们将工具对应的路径添加进来:

这里“designer”实参不用填。

下面是工作目录是固定的,大家将下面的字符串填入即可:

$ProjectFileDir$

这样,我们“designer”工具就已经添加好了。

下面我们再添加“rcc”和“uic”工具。

rcc工具配置:

实参:

$FilePath$ -o $FileDir$\$FileNameWithoutExtension$_rc.py

工作目录:

$ProjectFileDir$

uic工具配置:

实参:

$FilePath$ -o $FileDir$\$FileNameWithoutExtension$_ui.py

工作目录:

$ProjectFileDir$

这里我们就已经将三个工具添加完成了:

我们在添加完成以后,就可以看到,在顶部的选项栏中的工具选项下的“外部工具”中已经有我们添加的三个工具了:

下面我们来测试一下,我们点击外部工具中的“designer”启动“designer”:

如果你配置都和我一样的话,那么你在启动“designer”后就能看到下面的界面了,当然,你的界面可能是白色的:

我们这里点击一个窗体:

因为现在只是测试,我们只需要添加一个窗体查看效果,我们现在就可以点击图中所示的图标保存了:

我们这里就保存在项目目录下:

我们回到Pycharm中,可以看到这里的.ui文件就已经添加进来了:

我们对着这个生成的.ui文件右键,再点击外部工具:

我们这里使用“uic”工具对文件进行转换:

转换完成以后,我们就可以看到这里的.py已经生成了:

Pycharm以后,我们就可以看到,我们的.py文件就已经生成了:

这里能生成代码,就表示PySide已经安装成功,并且相关的工具都已经导入了。

2.在Pycharm中配置虚拟环境中的PySide

        我们首先在Pycharm中将虚拟环境配置进去,当然,在上面的Pycharm中有详细的Pycharm中配置虚拟环境教程,如果你不是特别熟悉,可以参考上面的教程。我们首先启动Pycharm:

我们同样的新建一个项目:

我们同样为这个项目配置一个解释器,这里解释器我们就要选择虚拟环境了:

这里我们点击“添加解释器”:

随后点击“添加本地解释器”:

这里选择Conda环境:

我们点击这个文件夹的图标加载Conda的可执行文件:

Conda的可执行文件在Conda的安装路径的"condabin"目录下的一个名为“conda.bat”的文件:

选中Conda的可执行文件以后,我们点击“加载环境”:

我们这里选择“使用现有环境”:

我们可以看到我们一开始创建的PySide的虚拟环境。我们将我们一开始的环境选入,点击确定,一路确定下去。

我们可以使用下面的测试代码进行测试:

import sys
from PySide6.QtWidgets import QApplication, QFrame
from PySide6.QtCore import QCoreApplication, QMetaObject  # 添加 QMetaObject 导入

class Ui_Frame(object):
    def setupUi(self, Frame):
        if not Frame.objectName():
            Frame.setObjectName(u"Frame")
        Frame.resize(400, 300)

        self.retranslateUi(Frame)
        QMetaObject.connectSlotsByName(Frame)  # 确保 QMetaObject 正确导入

    def retranslateUi(self, Frame):
        Frame.setWindowTitle(QCoreApplication.translate("Frame", u"Frame", None))

if __name__ == "__main__":
    app = QApplication(sys.argv)
    frame = QFrame()
    ui = Ui_Frame()
    ui.setupUi(frame)
    frame.show()
    sys.exit(app.exec())

我们右键然后运行,可以看到一个测试窗口:

如果能看到这个窗口的话,我们的虚拟环境中的PySide就配置成功了。

下面我么还能来配置在虚拟环境中PySide的相关工具,这里我们同样只需要三个工具,它们被放在了Conda安装目录下的“envs\pyside\Scripts”目录下,这里的env目录就是我们存放虚拟环境的地方,我们所有的虚拟环境文件夹都被放在了env目录下。这里我们进入我们安装了PySide的虚拟环境的相关文件夹,当然,这里如果你的虚拟环境名和我不一样,这里的路径也不一样:

这里这些工具的导入方式和上面的系统环境的Python是一样的,这里就简单的演示一下:

这样我们就将PySide的相关工具配置进来了。

大家这里可以使用上面的测试方法进行测试,如果你还不会导入PySide的相关工具或者不会测试是否导入成功,可以参考“4.1”,在4.1中说得非常详细。

五、结语

        这次,我们在Pycharm中分别配置了系统环境中和虚拟环境中得PySide。本次得配置应该是非常简单得,如果大家看了教程仍有疑惑的话,可以考虑多看几遍,看看教程中得细节部分,如果是跟着我操作的话,应该是不会有错误的。最后,感谢大家观看!


http://www.kler.cn/a/314708.html

相关文章:

  • 【小程序】封装网络请求request模块
  • 11Java面向对象高级(篇2,Java程序的核心套路!!!!)
  • 【2024最新】math-expression-evaluator 动态计算表达式的使用
  • uniapp 设置安全区域
  • python数据写入excel文件
  • git初始化和更新项目中的子模块
  • JavaEE: 深入探索TCP网络编程的奇妙世界(三)
  • Python实现图形学曲线和曲面的Bezier曲线算法
  • 深度学习-生成式检索-论文速读-2024-09-14
  • 关于自动化测试的一点了解
  • 高效财税自动化软件的特点与优势
  • ChatGPT 为何将前端框架从 Next.js 更换为 Remix以及框架的选择
  • Java中List、ArrayList与顺序表
  • hackmyvm靶场--zon
  • Spring:项目中的统一异常处理和自定义异常
  • 通过Java设计模式提高业务流程灵活性的策略
  • 笔记:DrawingContext和GDI+对比简介
  • 【Python】探索 TensorFlow:构建强大的机器学习模型
  • PostgreSQL技术内幕11:PostgreSQL事务原理解析-MVCC
  • 区块链DAPP质押系统开发
  • python中迭代器和可迭代对象
  • 【系统架构设计师】特定领域软件架构(经典习题)
  • 边缘智能-大模型架构初探
  • WebGL基础知识快速入门
  • 安装nuxt3
  • 「iOS」viewController的生命周期