【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安装教程
https://blog.csdn.net/c858845275/article/details/141102746?fromshare=blogdetail&sharetype=blogdetail&sharerId=141102746&sharerefer=PC&sharesource=qq_39150957&sharefrom=from_link
2、确保已经正常安装conda
conda安装教程,新建虚拟环境
https://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安装教程,使用国内源
https://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, QApplicationfrom ui_main import Ui_MainWindowclass 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一致

相关文章:
【QT开发-Pyside】使用Pycharm与conda配置Pyside环境并新建工程
知识拓展 Pycharm 是一个由 JetBrains 开发的集成开发环境(IDE),它主要用于 Python 编程语言的开发。Pycharm 提供了代码编辑、调试、版本控制、测试等多种功能,以提高 Python 开发者的效率。 Pycharm 与 Python 的关系 Pycharm 是…...
vue选项式写法项目案例(购物车)
一、初始化项目结构 1.初始化vite项目 npm create vite cd vite-project npm install 2.清理项目结构 清空App.vue 删除components目录下的HelloWorld.vue组件 3.为组件的样式启用sacc或less组件 npm i sass4.初始化index.css全局样式 :root{font-size:12px } 二、封装…...
[Linux][进程] 认识进程
基本概念 进程是一个操作系统术语,用来管理与操作程序.在windows下打开任务管理器即可查看目前打开的所有进程 PCB 进程控制块,从代码层面来说 PCB 是进程所有属性的一个结构体,在Linux源码中PCB指的是struct task_struct. Linux环境下: 进程 task_struct 代码 …...
如何安装和注册 GitLab Runner
如何安装和注册 GitLab Runner GitLab Runner 是一个用于运行 GitLab CI/CD (Continuous Integration/Continuous Deployment) 作业。它是一个与 GitLab 配合使用的应用程序,可以在本地或云中运行。Runner 可以执行不同类型的作业,例如编译代码、运行测…...
专业学习|动态规划(概念、模型特征、解题步骤及例题)
一、引言 (一)从斐波那契数列引入自底向上算法 (1)知识讲解 (2)matlap实现递归 (3)带有备忘录的遗传算法 (4)matlap实现带有备忘录的递归算法 “࿱…...
数据结构与算法 #时间复杂度 #空间复杂度
文章目录 前言 一、算法的复杂度 二、时间复杂度 三、空间复杂度 四、例题 1、例1:冒泡排序 2、例2: 3、例3: 4、例4: 二分查找 5、例5: 阶乘 6、例6: 斐波那契 五、常见算法复杂度 总结 前言 路漫漫其修远兮,吾将上下而求索&…...
【多机器人轨迹规划最优解问题】
此类应用场景通常很难有严格意义上的最优解,一般只能得到较优解。限制其获得最优解的主要因素如下: 一、问题的复杂性 多机器人系统的高维度性:每台机器人都有自己的位置、速度、任务等多个状态变量,多台机器人组合在一起使得问…...
机器学习及其应用领域【金融领域】
机器学习及其应用领域【金融领域】 一、智能投顾与资产配置二、信贷审批与风险评估三、支付与交易安全四、金融欺诈检测五、市场预测与情绪分析六、客户服务与个性化推荐七、面临的挑战与未来趋势八、总结 一、智能投顾与资产配置 智能投顾:通过机器学习技术&#…...
【实战教程】PHP与七牛云的完美对接,你值得拥有!
前言: 随着互联网的迅速发展,越来越多的网站和应用程序需要处理大量的图片、视频和其他文件。为了有效地存储和管理这些文件,并提供快速的内容分发服务,开发者们常常依赖于云存储和CDN服务提供商。 七牛云是一家领先的云存储和CD…...
2024网易低代码大赛 | 想参赛但不知道搭什么?灵感就这么水灵灵地来了!
9月6日-10月15日,报名进行时!戳我即可报名! 如果你还没想好要开发什么作品来参赛,那就必须往下 我们采访了n位网易内部人士,搜罗了他们的建议,给你多一些灵感! 注意:下文仅为本次比赛…...
(附源码)基于django的电力工程作业现场物资管理系统的设计与实现-计算机毕设 22067
基于django的电力工程作业现场物资管理系统的设计与实现 摘 要 随着电力工程的快速发展,作业现场物资管理成为保障工程进度和质量的关键环节。本文旨在设计并实现一个基于Django框架的电力工程作业现场物资管理系统,以提高物资管理的效率和准确性。该系统…...
数据链路层协议 —— 以太网协议
目录 1.数据链路层解决的问题 2.局域网通信方式 以太网 令牌环网 无线局域网 3.以太网协议 以太网帧格式 对比理解Mac地址和IP地址 认识MTU MTU对IP协议的影响 MTU对UDP的影响 MTU对TCP的影响 基于以太网协议的报文转发流程 交换机的工作原理 4.ARP协议 ARP协议…...
【Javascript】一文看懂JS中的symbol到底是什么东西
作为一名经验丰富的 JavaScript 开发者,你可能对 JavaScript 中的各种数据类型已经了如指掌,比如数字、字符串、布尔值和对象。但是你知道吗?JavaScript 还有一种叫做 Symbol 的类型。在这篇文章里,我们将深入探讨 Symbol 的世界&…...
go语言网络编程
网络编程Go语言网络编程相关APIGo语言网络编程架构Go语言的网络编程实现基于以下几个关键原理:bufiobufio 包的主要功能和使用场景主要类型示例 tcp通信解决粘包粘包和拆包的产生原因解决方法示例 网络编程 Go语言网络编程相关API 1.1 net包net.Listen(network, a…...
LeetcodeLCR 116. 省份数量
文章目录 题目原题链接思路C代码 题目 原题链接 LCR 116. 省份数量 思路 利用并查集的思想,将连接的诚实放在一个集合当中,最后遍历并查集数组判断有几颗树 初始化一个并查集;将连通的城市合并;统计并查集中树的个数;…...
Linux系统上搭建Vulhub靶场
Linux系统上搭建Vulhub靶场 vulhub 是一个开源的漏洞靶场,它提供了各种易受攻击的服务和应用程序,供安全研究人员和学习者测试和练习。要在 Linux 系统上安装和运行 vulhub,可以按照以下步骤进行: 1. 安装 Docker 和 Docke…...
Avalonia的第三方UI库SukiUI详细教程
文章目录 一、SukiUI 简介二、安装与配置1、安装 SukiUI 库:2、配置 Avalonia 项目以使用 SukiUI:三、基本组件使用1、按钮(SukiButton):2、文本框(SukiTextBox):3、标签(SukiLabel):4、下拉列表(SukiComboBox):四、布局与容器1、布局容器介绍:2、使用布局容器组…...
https协议文件上传比http协议慢
一.自己写一个文件上传的接口,在浏览器文件上传https协议比http协议慢(速度上https协议是http协议的八分之一左右),在postman上传是正常的(证明代码是没有问题的),那就是协议的问题 二.经发现&…...
Elasticsearch在大数据处理中的优势
Elasticsearch 在大数据处理中的优势主要体现在以下几个方面: 1. 分布式架构 水平扩展:Elasticsearch 设计为分布式系统,可以轻松地通过增加节点来水平扩展,处理 PB 级别的数据。数据分片和复制:数据自动分片并跨多个…...
cmake--target_compile_definitions
作用 笼统的说是:该命令添加预编译选项到编译目标中。 预编译选项 预编译选项(Preprocessor Options)是一类用于控制 C/C 预处理器行为的编译选项。预处理器是 C/C 编译过程中的第一个处理阶段,主要负责对源代码中的预处理指令…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
