【python】:使用Qt Creator 管理python项目

一、引言(也许适合小众的你)

如果你跟我一样,有时候开发点小项目,既有Qt的需求,又有python项目需求,除了VS以外,Qt Creator同时满足这两种语言的项目开发需求和无缝项目切换,目前来看确实是比较“棒”的方案了!

在这里插入图片描述

二、Qt +python项目管理

1、一个简单的示例

在项目管理文件 main.pyproject 中,通过JSON格式管理项目文件,如下:

{"files": ["main.py","PandasSeriesTest.py","facedetect.py","BreathingLight.py","CollapsibleSidebar.py","StyledButtonBar.py","yolov8Demo.py"]
}

在这里插入图片描述
在Qt Creator 的IDE中,你就可以看到所有的项目文件了,对于保持习惯一致的朋友来说,编写python代码和编写Qt代码,会有总莫名的亲切感!(博主也说不清楚)。

2、.pyproject 项目管理详解

Qt Creator 中管理 Python 项目时,通常使用 .pyproject 文件来定义项目配置。虽然 files 是一个常用的属性字段,但还有其他可选的字段可以帮助你更好地管理项目。

常用属性字段

  1. files: 列出项目中的所有源文件。

    "files": ["main.py", "PandasSeriesTest.py", "facedetect.py"]
    
  2. name: 项目的名称。

    "name": "MyPythonProject"
    
  3. version: 项目的版本号。

    "version": "1.0.0"
    
  4. description: 项目的简要描述。

    "description": "This is a sample Python project."
    
  5. dependencies: 项目所需的依赖包。

    "dependencies": ["numpy", "pandas", "opencv-python"]
    
  6. entry_point: 项目的入口文件。

    "entry_point": "main.py"
    
  7. python_version: 指定项目使用的 Python 版本。

    "python_version": "3.8"
    
  8. scripts: 定义项目中可执行的脚本。

    "scripts": {"start": "python main.py","test": "pytest"
    }
    

示例

以下是一个完整的 .pyproject 文件示例:

{"name": "MyPythonProject","version": "1.0.0","description": "This is a sample Python project.","files": ["main.py","PandasSeriesTest.py","facedetect.py","BreathingLight.py","CollapsibleSidebar.py","StyledButtonBar.py","yolov8Demo.py"],"dependencies": ["numpy","pandas","opencv-python"],"entry_point": "main.py","python_version": "3.8","scripts": {"start": "python main.py","test": "pytest"}
}

说明

  • nameversion: 帮助识别项目和版本。
  • description: 提供项目的简要信息。
  • dependencies: 列出项目所需的第三方库,便于环境配置。
  • entry_point: 指定项目的启动文件。
  • python_version: 确保项目在指定的 Python 版本下运行。
  • scripts: 定义常用的命令,简化开发和测试流程。

使用这些属性字段,可以更好地组织和管理 Python 项目,确保项目的可维护性和可移植性。

三、总结

如果你跟博主有相似的这种小众的项目开发习惯,不妨试试看。


PS:Qt Creator 对于python开发的支持没那么智能。这是一把双刃剑,不智能意味着更简洁,但也同时意味着无法成为极致的生产效率工具!!!

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

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

相关文章

【简单数论】(模运算,快速幂,乘法逆元,同余,exgcd,gcd,欧拉函数,质数,欧拉筛,埃式筛,调和级数枚举,约数,组合数)

数论 模运算 a m o d b a − ⌊ a / b ⌋ b a\ mod \ b a - \lfloor a / b \rfloor \times b a mod ba−⌊a/b⌋b n m o d p n \ mod\ p n mod p得到的结果的正负至于被除数 n n n有关 模运算的性质: ( a b ) m o d m ( ( a m o d m ) ( b m o d m ) ) m …

006贪心——算法备赛

跨步问题 跳跃游戏|| 问题描述 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i]i j &…

MySQL学习笔记(三)——图形化界面工具DataGrip

目录 1. 图形化界面工具 2.下载 3. 安装 3.1 安装步骤 3.2 激活说明 4. 使用 4.1 汉化教程 4.2 使用 1. 图形化界面工具 上述&#xff0c;我们已经讲解了通过 DDL 语句&#xff0c;如何操作数据库、操作表、操作表中的字段&#xff0c;而通过 DDL 语句执行在命令进行操…

编程题学习

acwing 826. 单链表 #include <iostream>using namespace std;const int N 100010;int idx, e[N], ne[N], head;void init() {head -1;idx 0; }void insert_head(int x) {e[idx] x;ne[idx] head;head idx ; }void delete_k_pos(int x, int k) {e[idx] x;ne[idx…

modelscope环境准备--装conda、内网穿透、配置HuggingFace

1 准备anaconda #1、安装包 wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh#2、提高权限 chmod x Anaconda3-2024.10-1-Linux-x86_64.sh#3、执行安装命令 ./Anaconda3-2024.10-1-Linux-x86_64.sh#4、一直按Enter健继续 yes继续 Enter#5、手动激…

算法题(117):字符串的展开

审题&#xff1a; 本题需要我们根据题目的要求将字符串进行扩展 思路&#xff1a; 方法一&#xff1a;模拟法 一般来说题目字数和要求很多的题就是模拟题&#xff0c;模拟题特别需要注意的就是细节&#xff0c;在编写代码之前一定要把细节想清楚&#xff0c;否则很容易出错。 分…

15使用按钮实现helloworld(2)

目录 通过纯代码的方式实现的 按版 hello world 通过图形化界面的方式&#xff0c;实现的 按钮版 hello world 通过纯代码的方式实现的 按版 hello world 对于纯代码版本,按钮对象是咱们自己 new 的 为了保证其他函数中能够访问到这个变量,就需要把按钮对象 设定为 Widget 类…

Nacos 服务发现的核心模型有哪些?Service, Instance, Cluster 之间的关系是什么?

Nacos 服务发现的核心模型 Nacos 服务发现的核心数据模型主要围绕以下几个关键概念构建&#xff0c;它们共同构成了服务注册与发现的基础&#xff1a; Namespace (命名空间): 用途: 用于进行环境隔离。比如&#xff0c;你可以为开发环境 (dev)、测试环境 (test) 和生产环境 (p…

VMware 安装 Ubuntu 全流程实战指南:从零搭建到深度优化

在软件开发、系统测试以及技术学习等诸多场景中&#xff0c;使用虚拟机安装操作系统是一种灵活且高效的方式。Ubuntu 作为一款优秀的开源操作系统&#xff0c;在 VMware 虚拟机上的安装与优化备受关注。接下来&#xff0c;将为大家带来 VMware 安装 Ubuntu 的全流程实战指南&am…

探秘叁仟智盒设备:智慧城市的智能枢纽

在智慧城市建设的宏伟蓝图中&#xff0c;各类先进技术与设备层出不穷&#xff0c;叁仟智盒设备作为其中的关键一环&#xff0c;正悄然发挥着巨大作用&#xff0c;为城市的智能化转型注入强大动力。 一、叁仟智盒设备概述 叁仟智盒设备是杭州叁仟智慧城市科技有限公司旗下的重…

晶晨S905L3S/S905L3SB_安卓9.0_10秒开机_通刷-线刷固件包

晶晨S905L3S&#xff0f;S905L3SB_安卓9.0_10秒开机_通刷-线刷固件包 线刷方法&#xff1a;&#xff08;新手参考借鉴一下&#xff09; 使用晶晨刷机工具USB_Burning_Tool进行刷机&#xff1b;请使用Amlogic USB Burning Tool v2.2.5或v2.2.7&#xff08;晶晨线刷烧录工具v2.2…

VSCode中结合DeepSeek使用Cline插件的感受

前言 听网上有传言说AI智能插件Cline非常的好用&#xff0c;而且相对Cursor而言还是免费的&#xff0c;捆绑的大模型选择也比较的广泛。所以&#xff0c;特意安装试用了一下。 我的采用IDE是VSCode&#xff0c;捆绑的大模型是最近比较火的DeepSeek。总体使用下来感觉非常的棒。…

蓝桥云客--破译密码

5.破译密码【算法赛】 - 蓝桥云课 问题描述 在近期举办的蓝桥杯竞赛中&#xff0c;诞生了一场激动人心的双人破译挑战。比赛的主办方准备了N块神秘的密码芯片&#xff0c;参赛队伍需要在这场智力竞赛中展示团队合作的默契与效率。每个队伍需选出一位破译者与一位传输者&#…

中国移动启动数字乡村“五新升级”:年底前,行政村5G覆盖达95%

大湾区经济网品牌观察报道&#xff0c;近日&#xff0c;在国家全面推进乡村振兴的战略背景下&#xff0c;中国移动近日发布数字乡村升级行动计划&#xff0c;以“AI大模型数智化平台”为核心引擎&#xff0c;围绕“五新升级”构建“两个新型”信息服务体系。 一、数字基建筑基&…

智慧节能双突破 强力巨彩谷亚VK系列刷新LED屏使用体验

当前全球节能减排趋势明显&#xff0c;LED节能屏作为显示技术的佼佼者&#xff0c;正逐渐成为市场的新宠。强力巨彩谷亚万境VK系列节能智慧屏凭借三重技术保障、四大智能设计以及大师臻彩画质&#xff0c;在实现节能效果的同时&#xff0c;更在智慧显示领域树立新的标杆。   …

Apache 配置负载均衡详解(含配置示例)

Apache 是互联网上最受欢迎的 Web 服务器之一。除了基本的网页服务&#xff0c;它还能通过模块扩展出丰富的功能。其中一个重要用途就是将 Apache 配置成负载均衡器&#xff0c;用于在多个后端服务器之间分配流量&#xff0c;提升网站的性能和稳定性。Google Gemini中国版调用G…

GESP:2025-3月等级8-T1-上学

时间限制 : 1 秒 内存限制 : 128 MB C 城可以视为由 n个结点与 m条边组成的无向图。这些结点依次以1,2,....n标号&#xff0c;边依次以 1,2...m标号。第i条边&#xff08;1<i<m &#xff09;连接编号为ui 与vi的结点&#xff0c;长度为li米。 小 A 的学校坐落在 C 城中…

Nginx介绍及使用

1.Nginx介绍 Nginx是一款开源的、高性能的HTTP和反向代理服务器 1.正向代理和反向代理 正向代理&#xff08;代理客户端&#xff09;是一种位于客户端和目标服务器之间的中间服务器。客户端通过正向代理服务器向目标服务器发送请求&#xff0c;代理服务器将请求转发给目标服…

复古未来主义屏幕辉光像素化显示器反乌托邦效果PS(PSD)设计模板样机 Analog Retro-Futuristic Monitor Effect

这款模拟复古未来主义显示器效果直接取材于 90 年代赛博朋克电影中的黑客巢穴&#xff0c;将粗糙的屏幕辉光和像素化的魅力强势回归。它精准地模仿了老式阴极射线管显示器&#xff0c;能将任何图像变成故障频出的监控画面或高风险的指挥中心用户界面。和……在一起 2 个完全可编…

[巴黎高师课程] 同步反应式系统(2024-2025)第三课 - Kind 2: 基于SMT的Lustre模型检查器

在2024-2025学期的巴黎高师同步反应式系统(2024-2025)第三课中&#xff0c;详细讨论了基于SMT的Lustre模型检查器Kind 2的工作。本文将提供对Kind 2的介绍。对课程的详细内容&#xff0c;可参考同步反应式系统 简介 本节课讨论了基于SMT&#xff08;Satisfiability Modulo The…