VSCode 配置PyQt5 开发环境

news2025/1/14 19:35:13

前提要求:Windows 安装Anaconda。

如果没有安装,请参考文章:Windows安装Anaconda使用教程

1、PyQt 5 安装 

在配置python环境的时候需要注意,PyQt5需要python 3.5+以上的版本,在python环境中(conda、pipenv)安装pyqt5相关组件PyQt5以及PyQt5-tools(designer)

pip install pyqt5

pip install pyqt5-tools
# 查看虚拟环境
C:\Windows\System32>conda env list
# conda environments:
#
base                     D:\anaconda3
python310                D:\anaconda3\envs\python310

# 选择虚拟环境
C:\Windows\System32>activate python310

# conda 自带pyqt5
(python310) C:\Windows\System32>pip install pyqt5
Requirement already satisfied: pyqt5 in d:\anaconda3\envs\python310\lib\site-packages (5.15.7)
Requirement already satisfied: PyQt5-sip<13,>=12.11 in d:\anaconda3\envs\python310\lib\site-packages (from pyqt5) (12.11.0)

# 安装pyqt5-tools 工具
(python310) C:\Windows\System32>pip install pyqt5-tools
Collecting pyqt5-tools
  Downloading pyqt5_tools-5.15.9.3.3-py3-none-any.whl (29 kB)
Collecting pyqt5==5.15.9
  Downloading PyQt5-5.15.9-cp37-abi3-win_amd64.whl (6.8 MB)
     ---------------------------------------- 6.8/6.8 MB 1.4 MB/s eta 0:00:00
Collecting python-dotenv
  Downloading python_dotenv-1.0.0-py3-none-any.whl (19 kB)
Collecting pyqt5-plugins<5.15.9.3,>=5.15.9.2.2
  Downloading pyqt5_plugins-5.15.9.2.3-cp310-cp310-win_amd64.whl (66 kB)
     ---------------------------------------- 66.8/66.8 kB 3.5 MB/s eta 0:00:00
Collecting click
  Downloading click-8.1.3-py3-none-any.whl (96 kB)
     ---------------------------------------- 96.6/96.6 kB ? eta 0:00:00
Collecting PyQt5-Qt5>=5.15.2
  Downloading PyQt5_Qt5-5.15.2-py3-none-win_amd64.whl (50.1 MB)
     ---------------------------------------- 50.1/50.1 MB 5.0 MB/s eta 0:00:00
Requirement already satisfied: PyQt5-sip<13,>=12.11 in d:\anaconda3\envs\python310\lib\site-packages (from pyqt5==5.15.9->pyqt5-tools) (12.11.0)
Collecting qt5-tools<5.15.2.2,>=5.15.2.1.2
  Downloading qt5_tools-5.15.2.1.3-py3-none-any.whl (13 kB)
Collecting colorama
  Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting qt5-applications<5.15.2.3,>=5.15.2.2.2
  Downloading qt5_applications-5.15.2.2.3-py3-none-win_amd64.whl (64.5 MB)
     ---------------------------------------- 64.5/64.5 MB 4.0 MB/s eta 0:00:00
Installing collected packages: PyQt5-Qt5, qt5-applications, python-dotenv, pyqt5, colorama, click, qt5-tools, pyqt5-plugins, pyqt5-tools
  Attempting uninstall: pyqt5
    Found existing installation: PyQt5 5.15.7
    Uninstalling PyQt5-5.15.7:
      Successfully uninstalled PyQt5-5.15.7
Successfully installed PyQt5-Qt5-5.15.2 click-8.1.3 colorama-0.4.6 pyqt5-5.15.9 pyqt5-plugins-5.15.9.2.3 pyqt5-tools-5.15.9.3.3 python-dotenv-1.0.0 qt5-applications-5.15.2.2.3 qt5-tools-5.15.2.1.3

2、 VsCode中安装和配置pyqt插件

1.下载并安装PYQT Integration 插件,搜索PYQT Integration关键字

2. 配置pyqt integration

在插件安装完成后需要进行配置,配置Pyuic和Qtdesigner的文件路径

 Pyuic: 写入pyuic5.exe的完整路径(在python环境目录中搜索此文件,查看目录)

 Qtdesigner: 写入designer.exe的完整路径(在python环境目录中搜索此文件,查看目录)

 

3 使用PYQT中的Qtdesigner和Pyuic工具

新建一个.ui文件,使用Qtdesigner工具设计界面

 使用Pyuic工具,将讲设计好的ui转换成对应的python代码

 生成了Ui_one.py文件,将.ui文件转换成.py文件。

 4、添加PyQT5程序入口

添加Python 程序入口, main 方法。

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'e:\py_workspace\py-qt-demo\one.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.

import sys
from PyQt5.QtWidgets import QApplication,QMainWindow
from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 22))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))

if __name__ == '__main__':
    # 只有直接运行这个脚本,才会往下执行
    # 别的脚本文件执行,不会调用这个条件句

    # 实例化,传参
    app = QApplication(sys.argv)

    # 创建对象
    mainWindow = QMainWindow()

    # 创建ui,引用demo1文件中的Ui_MainWindow类
    ui = Ui_MainWindow()
    # 调用Ui_MainWindow类的setupUi,创建初始组件
    ui.setupUi(mainWindow)
    # 创建窗口
    mainWindow.show()
    # 进入程序的主循环,并通过exit函数确保主循环安全结束(该释放资源的一定要释放)
    sys.exit(app.exec_())

执行效果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/423474.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4.13(LoadLibrary)

接着之前预习的知识&#xff0c;我观察的自己编译出来的bin LoadLibraryExA LoadLibraryExA函数进去&#xff0c;现时用RtInitAnsiString函数初始化了ANSI的计数字符串&#xff0c;底层是调用了LoadLibraryExW函数&#xff0c;在LoadLibrarExW函数里做了unicode的计数字符串的…

分子生物学 第三章 基因、基因组及基因组学

文章目录第三章 基因、基因组及基因组学第一节 基因1 基因认识的三个阶段2 基因的特征(1)跳跃基因(2)断裂基因3 基因的分类4 基因的结构5 基因的大小6 基因的数目第二节 基因组1 基因组的概念2 噬菌体基因组3 细菌基因组以大肠杆菌(原核生物的代表)为研究对象4 酵母基因组以酵母…

Python之拯救Xubuntu22.04误删/usr/bin/python3.10(二十二)

0.首先删除/usr/bin/python3.10,会导致以下错误: <1>.报错1: ModuleNotFoundError: No module named ‘apt_pkg’ <2>.报错2: bash: /usr/lib/command-not-found: /usr/bin/python3: 解释器错误: 没有那个文件或目录 <3>.报错3: 通过亲身操作,以下步骤可…

【Linux】来写一个tcp的服务端+客户端

本文首发于 慕雪的寒舍 今天让我们来写一个tcp的服务器/客户端代码。 完整代码见我的gitee 链接 阅读本文前&#xff0c;建议先阅读&#x1f449; udp服务器 由于本文采用自建图床&#xff0c;CSDN可能因带宽不够&#xff0c;出现外链图片缓存失败。 1.基本框架 tcp的服务器…

walt 调度算法

Walt 算法 WALT负载统计原理_walt算法_森森浅浅笙笙的博客-CSDN博客 CPU负载均衡之WALT学习【转】_mb5fdcad0be2e90的技术博客_51CTO博客 1、A task’s demand is the maximum of its contribution to the most recently completed window and its average demand over the p…

webgl-attribute、uniform、varying三者的区别

通用js: let canvas document.getElementById(webgl) canvas.width window.innerWidth canvas.height window.innerHeight let ctx canvas.getContext(webgl) attribute&#xff1a; 范围: 只适用于vertexShader&#xff0c;将js代码中的数据传递给vertexShader。 使用方…

知识图谱扩充|蜕变测试|蜕变关系

目录 前言&#xff1a;概念定义 什么是蜕变测试&#xff1f; 那么&#xff0c;怎么进行蜕变测试呢&#xff1f; 1. 生成蜕变关系 a 等价关系 b 混排关系 c 交集关系 d 并集关系 2. 生成蜕变用例 3. 执行蜕变用例 4. 校验蜕变关系 学术报告 一、蜕变测试MT 二、蜕变…

【id:32】【20分】B. Date(类与构造)

题目描述 下面是一个日期类的定义&#xff0c;请在类外实现其所有的方法&#xff0c;并在主函数中生成对象测试之。 注意&#xff0c;在判断明天日期时&#xff0c;要加入跨月、跨年、闰年的判断 例如9.月30日的明天是10月1日&#xff0c;12月31日的明天是第二年的1月1日 2月…

vue2路由(下)

编程式路由导航 通过点击按钮实现push和replace俩种模式的跳转 实现&#xff1a;就是通过$router原型里面的方法 也能实现路由的跳转和后退&#xff0c;分别采用的是$router里面的black和forward方法 感觉就是BOM对象中的history对象里面的方法 正是前进&#xff0c;后是后…

快鲸scrm | 三个步骤,快速打造企业长效私域营销阵地

快鲸scrm对企业微信私域流量玩法进行系统梳理&#xff0c;把企业微信用户运营拆解为“获客”、“转化”和“服务”这三个关键步骤&#xff0c;从点到面&#xff0c;为企业私域运营提供可行性的解决方案。 一、构建私域流量管理机制 用户是企业发展的基础&#xff0c;用户增长对…

三电技术之电控技术

三电技术之电控技术 1 基本功能 整车控制系统能够实现对汽车动力、舒适度、安全性以及能耗等多方面进行调整优化&#xff0c;配合大数据让电动汽车拥有更好的操作性和可靠性&#xff0c;具体来讲整车控制器对电动汽车主要有以下功能&#xff1a; 数据交互管理&#xff1a;整…

mybatis-plus-join MPJ连表查询 这样写太香了!

mybatis-plus作为mybatis的增强工具&#xff0c;它的出现极大的简化了开发中的数据库操作&#xff0c;但是长久以来&#xff0c;它的联表查询能力一直被大家所诟病。一旦遇到left join或right join的左右连接&#xff0c;你还是得老老实实的打开xml文件&#xff0c;手写上一大段…

【unity实战】用对象池设计制作Dash冲锋残影的效果

什么是对象池? 在Unity中,对象池是一种重复使用游戏对象的技术。使用对象池的好处是可以减少游戏对象的创建和销毁,从而提高游戏的性能。如果不使用对象池,每次需要创建游戏对象时,都需要调用Unity的Instantiate函数,这会导致内存分配和垃圾回收的开销。而使用对象池,可…

李宏毅 深度学习【持续更新】

目录pytorch快速入门csdn快速入门OS包PIL包Opencv包Dataset类Tensorboard的使用torchvision.transforms 的使用torchvision中数据集的使用DataLoader的使用(torch.utils.data)神经网络的搭建nn.Module深度学习 李宏毅Chatgpt1 研究方向2 Chatgpt学习的步骤3 Fine tune vs. Prom…

【Linux内网穿透】使用SFTP工具快速实现内网穿透

文章目录内网穿透简介1. 查看地址2.局域网测试连接3.创建tcp隧道3.1. 安装cpolar4.远程访问5.固定TCP地址内网穿透简介 是一种通过公网将内网服务暴露出来的技术&#xff0c;可以使得内网服务可以被外网访问。以下是内网穿透的一些应用&#xff1a; 远程控制&#xff1a;通过内…

九【springboot】

Springboot一 Spring Boot是什么二 SpringBoot的特点1.独立运行的spring项目三 配置开发环境四 配置开发环境五 创建 Spring Boot 项目1.在 IntelliJ IDEA 欢迎页面左侧选择 Project &#xff0c;然后在右侧选择 New Project&#xff0c;如下图2.在新建工程界面左侧&#xff0c…

深入理解PyTorch中的train()、eval()和no_grad()

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️&#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

【数据结构】栈的实现

&#x1f61b;作者&#xff1a;日出等日落 &#x1f4d8; 专栏&#xff1a;数据结构 &#x1f339; 如果说&#xff0c;读书是在奠定人生的基石&#xff0c;在梳理人生的羽毛&#xff0c;那么&#xff0c;实践&#xff0c;就是在构建人生的厅堂&#xff0c;历练人生的翅膀。是不…

阿里P7晒工资条,看完好扎心了……

前几天&#xff0c;有位老粉私信我&#xff0c;说看到某95后学弟晒出阿里P7的工资单&#xff0c;他是真酸了…想狠补下技术&#xff0c;努力冲一把大厂。 为了帮到他&#xff0c;也为了大家能在最短的时间内做面试复习&#xff0c;我把软件测试面试系列都汇总在这一篇文章了。 …

自然语言处理: 知识图谱的十年

动动发财的小手&#xff0c;点个赞吧&#xff01; NLP 中结合结构化和非结构化知识的研究概况 自 2012 年谷歌推出知识图谱 (KG) 以来&#xff0c;知识图谱 (KGs) 在学术界和工业界都引起了广泛关注 (Singhal, 2012)。作为实体之间语义关系的表示&#xff0c;知识图谱已被证明与…