PySide6+VSCode Python可视化环境搭建

news2024/12/23 11:26:43
#记住在cmd中运行,不要在vscode里运行,否则env会装到工程目录下
python -m venv env
#env\Scripts\activate.bat
pip install pyside6

下载本期源码
vscode装一个PYQT Integration插件,设置好两个路径(下面有个脚本用于获取路径)

用everything的童鞋注意了:工具/选项/索引/强制重建

重启vscode可以看到,右击.ui文件时出现可以操作的菜单

我们New一个Form默认生成一个.ui文件,然后点击编译,就会出现我们需要的Ui_untitled.py,这就是编译出来的文件。在test.py中输入以下代码F5运行,对话框就出现了


import sys
from Ui_untitled import Ui_Dialog
from PySide6.QtWidgets import QApplication, QDialog  # 假设您使用的是 PyQt5



class MyDialog(QDialog):
    def __init__(self):
        super(MyDialog, self).__init__()
        self.ui = Ui_Dialog()  # 假设 Ui_Dialog 是您的 UI 文件生成的类
        self.ui.setupUi(self)  # 将当前对话框实例传递给 setupUi 方法

if __name__ == "__main__":
    app = QApplication([])
    win = MyDialog()
    win.show()
    app.exec_()

最后附上一段获取exe文件路径的脚本,方便路径的复制粘贴:(注意不要重复运行,里面有添加环境变量操作,重复运行会添加重复的环境变量)

import os
import sys
import subprocess
from pathlib import Path
from win32com.client import Dispatch    #要安装依赖:python -m pip install pypiwin32

# 1. 搜索Python目录并设置pkgDir变量
def find_python_directory():
    for root, dirs, files in os.walk('C:/Users/Administrator/AppData/Local/Programs'):
        if 'python.exe' in files:
            return Path(root)
    return None

python_dir = find_python_directory()
if python_dir is None:
    print("Python not found.")
    sys.exit(1)

pkg_dir = python_dir / 'Lib' / 'site-packages'
print(f"Found Python at: {python_dir}")
print(f"Package directory: {pkg_dir}")

# 2. 在pkgDir中搜索Designer.exe并创建桌面快捷方式
def create_shortcut(target, shortcut_path, name):
    shell = Dispatch('WScript.Shell')
    shortcut = shell.CreateShortCut(str(shortcut_path))
    shortcut.Targetpath = target
    shortcut.WorkingDirectory = str(Path(target).parent)
    shortcut.save()

desktop_path = Path.home() / 'Desktop'
designer_exe = None
for file in pkg_dir.rglob('Designer.exe'):
    designer_exe = file
    break

if designer_exe:
    shortcut_name = 'Designer.lnk'
    create_shortcut(str(designer_exe), desktop_path / shortcut_name, 'Designer')
    print(f"Shortcut created for Designer.exe on the desktop.")
else:
    print("Designer.exe not found.")

# 3. 在pkgDir中搜索pyuic6.exe并添加到系统环境变量
pyside6_uic_exe_path = None
for file in python_dir.rglob('pyside6-uic.exe'):
    pyside6_uic_exe_path = file.parent
    break
if pyside6_uic_exe_path:
    current_path = os.environ['PATH']
    new_path = f"{current_path};{str(pyside6_uic_exe_path)}"
    subprocess.run(['setx', 'PATH', new_path, '/M'], check=True)
    print(f"pyside6-uic.exe directory added to system PATH.")
else:
    print("pyside6-uic.exe not found.")
    
pyside6_uic_exe = str(pyside6_uic_exe_path) + '\\pyside6-uic.exe'
print('-----------------------------------------------------------------------------')
print(pyside6_uic_exe)
print(designer_exe)
print('-----------------------------------------------------------------------------')

    

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

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

相关文章

陶瓷工业5G智能制造工厂数字孪生可视化平台,推进行业数字化转型

陶瓷工业5G智能制造工厂数字孪生可视化平台,推进行业数字化转型。在陶瓷工业领域,5G智能制造工厂数字孪生可视化平台的应用正在改变着行业的传统生产模式,推动着数字化转型的进程。本文将围绕这一主题展开探讨,分析数字孪生可视化…

Socket网络编程(四)——点对点传输场景方案

目录 场景如何去获取到TCP的IP和Port?UDP的搜索IP地址、端口号方案UDP搜索取消实现相关的流程:代码实现逻辑服务端实现客户端实现UDP搜索代码执行结果 TCP点对点传输实现代码实现步骤点对点传输测试结果 源码下载 场景 在一个局域网当中,不知…

Win11系统安装安卓子系统教程

随着Win11系统的不断普及,以及硬件设备的更新换代,我相信很多同学都已经更新并使用到了最新的Win11系统。那么,Win11系统最受期待的功能“Windows Subsystem for Android”(简称WSA),即《安卓子系统》。他可…

CAPL组装IPv4分片包的三种思路(2)

2、使用CAPL的函数自动生成一条完整的ICMPv4 Echo Request报文,然后把数据手动放入两个分片报文中 首先生成一条完整的icmp报文: ethernetPacket ppkt1;//icmpv4 echo requestbyte data[1] = {10};//icmpv4 echo request datappkt1.icmpv4.echo…

湖南湘菜 7页面 美食主题 带设计说明 美食网页设计制作 HTML美食网页成品 美食网页成品 HTML美食网页设计

湖南湘菜 7页面 美食主题 带设计说明 jquery图片轮播特效 滚动文字 aspaccess数据库注册登录留言功能 美食网页设计制作 HTML美食网页成品 美食网页成品 HTML美食网页设计制作 前端美食网页开发 热门美食特产网页制作 静态网页成品 asp/php动态网站设计制作DW定制定做 web前…

佛山50公里徒步组团|真北敏捷社区佛山敏捷DevOps社区

真北敏捷社区&佛山敏捷DevOps社区有两个宗旨,一是求知,二是连接。连接有识之士,同修友士之识。峨峨乎高山,洋洋乎流水。谈笑有鸿儒,往来无白丁。 《柳叶刀》上的研究显示,运动的情绪价值,相…

GitHub Copilot extension activation error: ‘No access to GitHub Copilot found‘

好不容易学生认证通过了,打开vscode用copilot结果一直报这个错误。我的原因是:还未给copilot授权, 通过了学生认证后要进入这里进行授权:

数据分析-Pandas数据探查初步圆饼图

数据分析-Pandas数据探查初步圆饼图 数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律? 数据表&am…

PHP使用imap_open读取QQ邮箱

PHP代码: /** PHP使用imap_open读取QQ邮箱imap_open 官方文档:https://www.php.net/function.imap_open */function parse_mailstr($subject) {$a explode(?,$subject);$n count($a);$a $a[$n-2];return base64_decode($a); }function recevie_emai…

点亮城市名片丨计讯物联智慧灯杆系统在通讯基地的成功应用

项目背景 在国家新型城镇化大背景下,十四五规划纲要强调“加快数字化发展,建设数字中国”,明确提出“以数字化助推城乡发展和治理模式创新”,全面提高城市的运行效率和宜居程度。 项目概况 为满足灯杆灯光亮度的远程智能管理、对…

docker构建hyperf环境

一,构建hyperf 镜像 官网git https://github.com/hyperf/hyperf-docker 使用dockerfile构建镜像 根据需要这里我使用8.1 swoole版本的镜像 在/home/hyperfdocker 目录中新建一个Dockerfile文件,将这个git上的Dockerfile内容复制粘贴进去 docker build…

Linux--使用 Haproxy搭建Web群集

1、 案例概述 Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如LVS 和 Nginx。相比较而言,LVS性能最好,但是搭建相对复杂:Nginx的upstream 模块支持群集功能,但是对群集节点健康检查功能…

java 基础上(1)(核心知识搭配代码)

前言 java的学习分为了上部分以及下部分进行学习,上部分就是对于java的基础知识,面向对象上,面向对象下,异常操作,javaApi;下部主要是集合,泛型,反射,IO流,J…

Ubuntu篇——crontab修改编辑器

输入命令: crontab -e 如果你的系统是第一次使用crontab服务,会首先让你选择一个编辑器 如果已经选择过编辑器,后续想要修改默认编辑器,可以输入sudo select-editor进行修改。

【市工信】2024年青岛市绿色工厂、绿色工业园区等绿色制造示范申报

科大睿智小编从青岛市工信局了解到&#xff0c;为深入贯彻绿色发展理念&#xff0c;牢固树立绿色低碳发展导向&#xff0c;进一步完善绿色制造体系&#xff0c;培育绿色制造先进典型&#xff0c;根据《工业和信息化部关于印发<绿色工厂梯度培育及管理暂行办法>的通知》&a…

【PyTorch][chapter 20][李宏毅深度学习]【无监督学习][ GAN]【实战】

前言 本篇主要是结合手写数字例子,结合PyTorch 介绍一下Gan 实战 第一轮训练效果 第20轮训练效果,已经可以生成数字了 68 轮 目录&#xff1a; 谷歌云服务器&#xff08;Google Colab&#xff09; 整体训练流程 Python 代码 一 谷歌云服务器&#xff08;Google Colab&…

List<Object>集合对象属性拷贝工具类

目录 问题现象&#xff1a; 问题分析&#xff1a; 解决方法&#xff1a; 问题现象&#xff1a; 最近在项目中经常会使用到BeanUtils工具类来作对象的属性字段拷贝&#xff0c;但如果应用到List集合的话就需要遍历去操作了&#xff0c;如下&#xff1a; 打印结果&#xff1a; …

分类问题经典算法 | 二分类问题 | Logistic回归:公式推导

目录 一. Logistic回归的思想1. 分类任务思想2. Logistic回归思想 二. Logistic回归算法&#xff1a;线性可分推导 一. Logistic回归的思想 1. 分类任务思想 分类问题通常可以分为二分类&#xff0c;多分类任务&#xff1b;而对于不同的分类任务&#xff0c;训练的主要目标是…

小乌龟操作Git

1、选择小乌龟作为git客户端 最近使用idea来操作git的时候频频出现问题&#xff0c;要么是提交代码的时候少了某些文件&#xff0c;导致克隆下来无法运行&#xff0c;要么是提交速度太慢。 反正是在idea中操作git体验非常不好&#xff0c;所以决定来换一种方式来操作git。从网…

Java类加载器 和 双亲委派【详解】

一.类加载器&#xff1a; 由JDK提供的&#xff0c;用于加载一些资源文件到JVM内存里的一项技术。主要是加载class文件到内存&#xff0c;也可以加载一些资源文件。 2.JDK提供了三个类加载器&#xff1a; BootstrapClassLoader&#xff1a;引导类加载器&#xff0c; 是c语言编写…