PySide6+VSCode Python可视化环境搭建

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('-----------------------------------------------------------------------------')

    

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

01-环境搭建、SpringCloud微服务(注册发现、服务调用、网关)

环境搭建、SpringCloud微服务(注册发现、服务调用、网关) 1)课程对比 2)项目概述 2.1)能让你收获什么 2.2)项目课程大纲 2.3)项目概述 随着智能手机的普及,人们更加习惯于通过手机来看新闻。由于生活节奏的加快,很多人只能利用碎片时间来获取信息&…

map和set(一)——关联式容器的常用接口使用及区别

一、关联式容器 在初阶阶段,我们已经接触过STL中的部分容器,比如:vector、list、deque、forward_list(C11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面 、存储的是元素本身。 那什么…

django学习记录07——订单案例(复选框+ajax请求)

1.订单的数据表 1.1 数据表结构 1.2 数据表的创建 models.py class Order(models.Model):"""订单号"""oid models.CharField(max_length64, verbose_name"订单号")title models.CharField(max_length64, verbose_name"名称&…

Android6.0-14的兼容性

1.Android 6.0 ①新增运行时权限,危险权限需要动态申请 ②删除了对 Apache HTTP 客户端的支持, 解决方法:必须在build.gradle文件中声明以下编译时依赖项 android { useLibrary org.apache.http.legacy } 2.Android 8.0 ①允许安装未知来源…

15 实战:Kaggle房价预测 + 课程竞赛:加州2020年房价预测【李沐动手学深度学习课程笔记】

15 实战:Kaggle房价预测 课程竞赛:加州2020年房价预测【李沐动手学深度学习课程笔记】https://zhuanlan.zhihu.com/p/685343754 写在前面:这里格式很乱,代码直接去知乎copy 1 实战Kaggle比赛:预测房价 1.1 实现几个函…

C#实现选择排序算法

以下是使用C#实现选择排序算法的示例代码: using System;class SelectionSort {static void Main(string[] args){int[] arr { 64, 25, 12, 22, 11 };Console.WriteLine("排序前:");PrintArray(arr);SelectionSortAlgorithm(arr);Console.Wr…

STM32CubeMX学习笔记12 ---低功耗模式

在实际使用中很多产品都需要考虑低功耗的问题,STM32F10X提供了三种低功耗模式:睡眠模式(Sleep mode)、停机模式(Stop mode)和待机模式(Standby mode)。这些低功耗模式可以有效减少系…

【AI视野·今日NLP 自然语言处理论文速览 第八十三期】Wed, 6 Mar 2024

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 6 Mar 2024 Totally 74 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers MAGID: An Automated Pipeline for Generating Synthetic Multi-modal Datasets Authors Hossein Aboutalebi, …

Vue-04

Vue 指令 指令补充 指令修饰符:通过"."指明一些指令后缀,不同后缀封装了不同的处理操作 → 简化代码 按键修饰符 keyup.enter → 键盘回车监听 在input中使用keyup.enter,这个时候按enter键也能实现添加,和点击按钮实…

Redis的散列插槽及故障转移

散列插槽 散列插槽原理类似于一个哈希散列表,通过哈希算法来映射插槽,并为redis节点分配插槽区间,插槽的所有范围是0~16383 数据key不是与节点绑定,而是与插槽绑定。redis会根据key的有效部分计算插槽值,分两种情况&a…

第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组 统计子矩阵

#include<iostream> #include<algorithm> #include<cstring> #include<string> #include<vector> #include<queue>using namespace std;int cnt,temp; int n,m,K; int a[505][505]; int pre[505][505];//二维前缀和void sol() {cin>>…

【Linux】gcc升级13.2.0

错误信息 g: error: unrecognized command line option ‘-stdgnu14’ -stdc14需要g5.2以上&#xff0c;而centos默认的g只有4.8.5&#xff0c;所以&#xff0c;要做的事情&#xff0c;是升级g 下载gcc 官网下载: https://ftp.gnu.org/gnu/gcc/wget https://ftp.gnu.org/gnu/…

liunx自动构建化工具make/makefile

liunx自动化构建工具 依赖关系和依赖方法makefile 文件格式 第一个项目 进度条牛刀小试 倒计时简单模版 makefile 的多文件编程 依赖关系和依赖方法 依赖关系&#xff1a;依赖关系是文件之间的关系。 依赖方法&#xff1a;依赖方法是文件之间相互作用的方法。通过方法产生关系…

java网络编程 02 socket

01.socket定义 02.TCP编程 import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket;public class clientSocket {public static void main(String[] args) throws IOException {Socket socket new Socket(Inet…

HTTP协议与HTTPS协议

HTTP与*HTTPS HTTP协议HTTP请求的通信过程HTTP优点 HTTPS协议HTTPS优点SSL/TLS的工作原理?*公钥传递的信赖&#xff1f;*通过中间CA机构传输 HTTP协议 HTTP协议是一个无状态的协议&#xff0c; 服务器不维护任何有关客户端之前所发请求的消息。 是一种懒政&#xff0c;有状态协…

基于selenium自动化索引点击

小鹅快速刷题&#xff0c;根据selenium和xpath定位题干&#xff0c;使用模糊匹配fuzzywuzzy库查找题目匹配答案&#xff0c;自动点击&#xff0c;完成后更新题库 先导入基本包&#xff0c;准备好题库 from fuzzywuzzy import process from selenium import webdriver import …

9、Linux-安装JDK、Tomcat和MySql

目录 一、安装JDK 1、传输JDK文件&#xff08;.tar.gz&#xff09; 2、解压 3、备份环境变量 4、配置环境变量 5、重新加载环境变量 6、验证&#xff08;java -version&#xff09; 二、安装Tomcat 1、传输文件&#xff0c;解压到/usr/local 2、进入Tomcat的bin目录 …

如何从产品的角度做好内容营销?媒介盒子支招

内容运营就是指将生产传播内容并进行重组&#xff0c;去满足用户的内容消费需求&#xff0c;想要提高内容运营的效果&#xff0c;媒介盒子认为可以从产品出发&#xff0c;将内容运营与品牌产品相结合。那么应该怎么做呢&#xff1f;接下来就让媒介盒子告诉你。 一、 场景化内容…

Android岗面试,android内存优化面试题

前言 曾听过很多人说Android学习很简单&#xff0c;做个App就上手了&#xff0c;工作机会多&#xff0c;毕业后也比较容易找工作。这种观点可能是很多Android开发者最开始入行的原因之一。 在工作初期&#xff0c;工作主要是按照业务需求实现App页面的功能&#xff0c;按照设…

太惊艳了!多微信管理利器,让你事半功倍!

作为现代社交媒体的主要平台之一&#xff0c;微信在商务领域中扮演着重要的角色。为了提高我们的工作效率&#xff0c;微信管理系统应运而生。 这个系统可以同时登录多个微信账号&#xff0c;并进行统一管理。除了便捷的登录管理功能外&#xff0c;微信管理系统还提供了许多实…