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

【QT开发-Pyside】使用Pycharm与conda配置Pyside环境并新建工程

知识拓展

Pycharm 是一个由 JetBrains 开发的集成开发环境(IDE),它主要用于 Python 编程语言的开发。Pycharm 提供了代码编辑、调试、版本控制、测试等多种功能,以提高 Python 开发者的效率。

Pycharm 与 Python 的关系

Pycharm 是一个支持多种编程语言的 IDE,其中 Python 是其最主要的语言支持之一。Pycharm 提供了对 Python 的全面支持,包括代码补全、代码风格检查、代码导航、调试、单元测试、代码分析等。Pycharm 的核心功能可以帮助 Python 开发者更高效地编写、调试和测试他们的代码。

Python 与 Conda 的关系

Python 是一个流行的编程语言,而 Conda 是一个包管理和环境管理系统,它特别适用于科学计算和数据分析领域,其中 Python 是一个重要的组成部分。Conda 允许用户安装和管理 Python 以及与其相关的各种包和依赖,它能够自动处理依赖关系,确保所有依赖的包都被正确安装。Python 与 Conda 的结合使用,使得在科学计算和数据分析项目中更容易管理复杂的依赖关系。

Pycharm 与 Conda 的关系

Pycharm 支持 Conda 环境的使用,这意味着开发者可以在 Pycharm 中直接创建和管理 Conda 环境。Pycharm 允许用户将 Conda 环境作为项目的一部分,这样开发者就可以在不同的环境中切换,而无需担心环境之间的冲突。此外,Pycharm 还提供了一些与 Conda 相关的功能,如查看环境、安装包、创建新的环境等,以简化开发者的操作流程。

 python与QT

PYside 和 PyQt 都是用于 Python 语言的 Qt 框架的绑定。Qt 是一个跨平台的 C++ 库,广泛用于开发图形用户界面应用程序、网络应用程序和嵌入式设备。PyQt 是最早的 Qt 框架的 Python 绑定,由 Riverbank Computing 开发。PYside 是 PyQt 的一个分支,由 Jürgen Fenn 创建,它是 PyQt 的一个免费开源版本,适用于商业项目。

PyQt


PyQt 提供了对 Qt 框架的全面支持,包括 Qt Widgets、Qt Network、Qt Multimedia、Qt WebEngine、Qt WebChannel 等模块。它允许 Python 开发者利用 Qt 的强大功能来创建丰富的图形用户界面和跨平台应用程序。

PYside

PYside 是 PyQt 的一个分支,它保持了与 PyQt 相同的功能和兼容性,但提供了一个免费的开源许可,使得开发者可以自由地使用 PYside 进行商业项目的开发。PYside 的目的是提供与 PyQt 相同的功能,同时避免 PyQt 的商业许可限制。

关系

PYside 和 PyQt 都是 Qt 框架的 Python 绑定,它们之间的关系可以看作是 PyQt 的一个分支。两者都提供了对 Qt 框架的全面支持,但 PYside 提供了免费的开源许可,而 PyQt 则需要商业许可。开发者可以根据自己的需求和项目许可要求选择使用 PYside 或 PyQt。
 

使用Pyside开发流程:

在python中使用QT designer设计QT UI界面,并且使用python相关插件,将QT UI文件转换为python界面文件,再编写python代码与界面交互。

一、前置条件

请仔细阅读并按照以下文章所示操作进行

1、确保已经正常安装Pycharm

pycharm安装教程icon-default.png?t=O83Ahttps://blog.csdn.net/c858845275/article/details/141102746?fromshare=blogdetail&sharetype=blogdetail&sharerId=141102746&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_link

2、确保已经正常安装conda

conda安装教程,新建虚拟环境icon-default.png?t=O83Ahttps://blog.csdn.net/qq_39150957/article/details/142418970?fromshare=blogdetail&sharetype=blogdetail&sharerId=142418970&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_link

3、确保已经正常安装QT6

QT6安装教程,使用国内源icon-default.png?t=O83Ahttps://blog.csdn.net/qq_39150957/article/details/141294775?fromshare=blogdetail&sharetype=blogdetail&sharerId=141294775&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_link

请记住你的conda虚拟环境安装的Python路径

一般路径在C盘用户路径下的【.conda\envs】中

我的conda虚拟环境路径为【C:\Users\QF\.conda\envs\】

我的虚拟环境名称为【pyside】

你也可以通过【Win+R】键,输入“CMD”并回车,打开控制台。

输入指令

conda info --envs

可以看到我们之前创建的虚拟环境名为【Pyside】且路径为【C:\Users\QF\.conda\envs\pyside】

二、配置pyside环境

激活【Pyside】环境

activate pyside

 显示红框中的文字则环境已激活

切换为国内镜像源

pip config set global.index-url https://mirror.baidu.com/pypi/simple

安装“Pyside6”

pip install pyside6

 我这里是已经安装过的,所以会提示安装路径。正常情况会提示下载进度

打开Pycham

随便打开一个或创建工程,切换为【pyside】的虚拟环境

进入Pycharm设置

打开工具,点击添加工具

填写相关内容

我的conda虚拟环境路径为【C:\Users\QF\.conda\envs\】根据自己实际情况选择路径

添加QTdesigner工具

名称
Pyside6-Designer


组
Pyside

程序
C:\Users\QF\.conda\envs\pyside\Lib\site-packages\PySide6\designer.exe


工作目录
$FileDir$



添加QT UIC工具

名称
Pyside6-UIC


程序
C:\Users\QF\.conda\envs\pyside\Scripts\pyside6-uic.exe

实参
$FileName$ -o ui_$FileNameWithoutExtension$.py

工作目录
$FileDir$

添加QT RCC工具

名称
Pyside6-RCC

组
Pyside

程序
C:\Users\QF\.conda\envs\pyside\Scripts\pyside6-rcc.exe

实参
$FileName$ -o $FileNameWithoutExtension$_rc.py

工作目录
$FileDir$

我们在工程路径窗口 空白处右键,即可看到刚才添加的工具

三、新建一个界面

点击designer后,会自动打开QT designer

 

 1:控件列表

2:预览窗口

3:对象列表树

4:对象属性列表

设计流程:

我们可以从控件列表中拖入控件到预览窗口中,然后通过右面属性列表来更改某个已添加的控件属性。

按下【Ctrl+S】键,保存设计的UI文件

可以看到,工程路径下面

多了刚才保存的UI文件,该UI文件是QTdesigner创建的QT界面文件,所以需要转换成Python文件

对着该文件右键,即可将该文件切换为python文件

可以看到文件已经转换为python文件,我们可以新建一个main.py文件,并运行。

新建的main.py文件中放入代码

import sys
from PySide6.QtWidgets import QMainWindow, QApplication

from ui_main import Ui_MainWindow


class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.setupUi(self)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = MainWindow()
    win.show()
    app.exec()

运行main.py文件即可看到刚才的效果

可以看到,效果和QT 设计的UI一致


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

相关文章:

  • C++中的栈(Stack)和堆(Heap)
  • [运维][Nginx]Nginx学习(1/5)--Nginx基础
  • vue2+ element ui 集成pdfjs-dist
  • 类别变量分析——卡方独立性检验卡方拟合优度检验
  • spring中r类是什么
  • jwt用户登录,网关给微服务传递用户信息,以及微服务间feign调用传递用户信息
  • 如何在 Qt 的 QListWidget 中为某一行添加点击事件
  • Oracle数据库中什么情况下需要使用游标
  • 微信小程序拨打电话点取消报错“errMsg“:“makePhoneCall:fail cancel“
  • Go-知识recover
  • JbossMQ反序列化漏洞CVE-2017-7504
  • WPF 异步
  • Qt 注册表操作
  • 数据结构--顺序表的创建和增删改查操作
  • windows docker下启动mysql报Bind on unix socket: Input/output error
  • Nginx越界读取缓存漏洞(CVE-2017-7529)
  • 【ShuQiHere】 探索数据挖掘的世界:从概念到应用
  • c++中std::find()函数
  • 【测试】——Selenium API (万字详解)
  • 【dom操作基础】案例题1
  • Ubuntu24.04中安装Electron
  • 8. 防火墙
  • JAVA并发编程系列(8)CountDownLatch核心原理
  • 基于等保2.0标准——区块链安全扩展要求探讨
  • git 介绍+常用命令
  • LeetCode 2374.边积分最高的节点:模拟