Qt开发经验 --- 避坑指南(14)
文章目录
- @[toc]
- 1 linux下使用linuxdeploy打包
- 2 Qt源码下载
- 3 QtCreator配置github copilot实现AI编程
- 4 使用其它编程AI辅助开发Qt
- 5 Qt开源UI库
- 6 QT6.8以后版本安装QtWebEngine
- 7 清除QtCreator配置
文章目录
- @[toc]
- 1 linux下使用linuxdeploy打包
- 2 Qt源码下载
- 3 QtCreator配置github copilot实现AI编程
- 4 使用其它编程AI辅助开发Qt
- 5 Qt开源UI库
- 6 QT6.8以后版本安装QtWebEngine
- 7 清除QtCreator配置
更多精彩内容 |
---|
👉内容导航 👈 |
👉Qt开发经验 👈 |
1 linux下使用linuxdeploy打包
linuxdeploy受到linuxdeployqt的很大影响,虽然它对appdir采用了更严格的规则,但它在使用上更加灵活。如果您现在使用的是linuxdeployqt,那么现在就考虑切换到linuxdeploy !
linuxdeploy生成的文件夹结构遵循Appimage标准,更加规范。
linuxdeploy默认提供了多种架构的可执行程序,无需自己编译。
文档
- 下载linuxdeploy;
- 下载linuxdeploy-plugin-qt 插件;
- 其它插件
- 将linuxdeploy-plugin-qt-x86_64.AppImage重命名为linuxdeploy-plugin-qt,放到linuxdeploy路径下;
- 编译生成可执行程序;
- 文件夹中最少需要有可执行程序、desktop、图标三个文件;
- 使用下面命令打包
./linuxdeploy --output appimage --appdir ./AppDir --plugin qt -e ./AppDir/untitled -d ./AppDir/default.desktop -i ./AppDir/default.png
--output appimage
:生成appimage文件;--appdir ./AppDir
:指定打包路径为AppDir;--plugin qt
:指定使用插件linuxdeploy-plugin-qt;-e ./AppDir/untitled
:指定可执行程序路径;-d ./AppDir/default.desktop
:指定.desktop
文件所在路径;-i ./AppDir/default.png
指定图标路径;
2 Qt源码下载
-
Qt 源码下载
-
GitHub - qt/qt5: Qt5 super module
-
https://download.qt.io/official_releases/qt/5.15/5.15.8/single/
-
下载说明:
git clone https://code.qt.io/qt/qt5.git
cd qt5
git checkout v5.8.0 # 切换版本分支
git submodule update --init --recursive # 下载子模块代码
3 QtCreator配置github copilot实现AI编程
- 2024年12月18日,GitHub 官方宣布了一个激动人心的重大消息:GitHub Copilot 将为 Visual Studio Code 用户推出免费版本。
- github Copilot提供了Free(免费)、Pro(专业版)、Business(商业)、Enterprise(企业)四个版本,普通开发人员主要接触的是Free和Pro版本,Pro 10美元/月,但是学生、教师、流行开源项目维护者可以认证后免费使用,而Free和Pro的主要区别是Free每月聊天次数限制50次,Pro无限制,实时代码建议Free每月2000条,Pro无限制。
- Github Copilot可以说是最适合程序开发人员的AI了,背靠github庞大的开源程序,针对代码补全、智能提示进行训练,可以甩开很多人工智障几条街了。
- github Copilot默认是不支持QtCreator的,但是支持NeoVim,QtCreator11以上版本可以通过插件与NeoVim使用github Copilot,但是功能相对于github copilot主推的vs code来说还是弱了很多,不支持聊天功能,只保留了代码智能提示和补全功能。
- Qt5离线安装包默认自带的QtCreator版本都比较低,这里需要区分Qt和QtCreator,Qt是库,QtCreator是编辑器,可以分开安装,也就是说安装了Qt5也可以单独安装高版本的QtCreator。
环境说明:
系统:windows11
有自己的github账号,没有的可以注册一个,如果无法访问github可以使用GreenHub。
浏览器已经登录了github;
相关地址:
- https://github.com/features/copilot/plans?cft=copilot_li.features_copilot
- https://docs.github.com/zh/copilot/quickstart
- https://learn.microsoft.com/zh-cn/training/paths/copilot/
- 安装qtcreator11+版本;(我这里使用的是qtcreator14)
- 下载安装node.js;
- 下载copilot.vim
git clone https://github.com/github/copilot.vim.git
; - 打开qtcreator,选择【帮助】【关于插件】,在过滤器中搜索
copilot
,然后勾选上插件;
- 点击【确认】,然后重启qtcreator;
- 打开【编辑】【Preferences】;
- 选择【Copilot】,勾选【Enable Copilot】然后分别配置
Node.js
和language-server.js
的路径;
- 配置完路径后【Sign in】就会按键就会亮起,点击【Sign in】按键就会跳转到浏览器;
- 如下所示,点击【Continue】;
- 然后将下图中所示弹出的验证码输入到浏览器中;
- 再点击【Continue】;
- 进入授权界面后点击【Authorize Github Copilot plugin】按键授权Qtcreator插件;
- 然后返回QtCreator,会显示【Signing in …】,一直在转圈圈,这里授权可能会比较慢,多等一下或者重新操作授权;
- 勾选【Auto request】后就会在编写代码时自动生效了;
- 如果没勾选【Auto request】就需要在设置快捷键,然后每次按快捷键触发Copilot。
- Copilot生成提示时可能会有多种选择,这里可以添加【NextSuggestion】和【PreviousSuggestion】快捷键来切换下一个或者上一个提示。
- 登录成功后创建一个Qt工程,在窗口右下角点击图标开启Copilot;
- 然后在代码中编程时就会通过Copilot给出智能提示了,出现提示后按Tab键就可以自动补全代码,补全注释等;
4 使用其它编程AI辅助开发Qt
大部分的编程AI都有vs code插件,可以通过在vs code中安装插件进行使用,但是qt creator对编程ai的支持做得很差,相当于没有;
qtcreator毕竟是官方出品,对qt开发环境的支持是最好的,开箱即用,是其它第三方IDE远远赶不上的,但是在调试上比不了vs,在插件市场、AI辅助上又比不上vs code。
qt开发中如果要使用编程ai辅助开发,有几种方式;
- 方法1:使用qtcerator11+版本,可以通过安装插件支持github copilot,不过只有代码提示和补全功能,没有聊天功能;
- 方法2:使用 Visual Studio+qt插件,在vs中开发qt,vs内置支持github copilot,功能强大,使用方便;(当然很多AI插件在vs中也可以安装)
- 方法3:使用vs code配置qt开发环境,在vs code就可以随心所欲的安装各种AI插件,这是AI编程最友好的环境,但是vs code配置qt开发环境比较复杂,对新人非常不友好,不像qtcreator哪些开箱即用;
- 方法4:多种环境混合开发,使用qtcreator开发QT程序,同时使用vs code打开相同的工程代码,在vs code中编辑代码、补全代码,在qtcreator中编译、运行、调试、分析。同时这种方式还能用到visual studio上,使用qtcreator开发,使用vs 调试,多种工具组合使用,融合所有工具的优点。
5 Qt开源UI库
- ElaWidgetTools
6 QT6.8以后版本安装QtWebEngine
- 在Qt以后版本在线安装时QtWebEngine模块被移动到扩展(Extensions)中,需要单独勾选才能安装;
7 清除QtCreator配置
- 有时候QtCreator配置乱了,或者编译器配置错误了,想要解决可以清除qtcreator配置,然后重启qtcreator;
- 打开
C:\Users\[用户名]\AppData\Roaming\QtProject
路径,将QtProject
文件夹重命名,然后重启qtcreator。
相关文章:

Qt开发经验 --- 避坑指南(14)
文章目录 [toc]1 linux下使用linuxdeploy打包2 Qt源码下载3 QtCreator配置github copilot实现AI编程4 使用其它编程AI辅助开发Qt5 Qt开源UI库6 QT6.8以后版本安装QtWebEngine7 清除QtCreator配置 更多精彩内容👉内容导航 👈👉Qt开发经验 &…...
JavaScript 循环语句全解析:选择最适合的遍历方式
循环是编程中处理重复任务的核心工具。JavaScript 提供了多种循环语句,每种都有其适用场景和独特优势。本文将深入解析 JavaScript 的 6 种核心循环语句,通过实际示例帮助你精准选择合适的循环方案。 一、基础循环三剑客 1. for 循环 经典索引控制 ja…...

MIT 6.S081 2020 Lab3 page tables 个人全流程
文章目录 零、写在前面1、关于页表2、RISC-V Rv39页表机制3、虚拟地址设计4、页表项设计5、访存流程6、xv6 的页表切换7、页表遍历 一、Print a page table1.1 说明1.2 实现 二、A kernel page table per process2.1 说明2.2 初始化 / 映射相关2.3 用户内核页表的创建和回收2.4…...
Oracle 通过 ROWID 批量更新表
Oracle 通过 ROWID 批量更新表 在 Oracle 数据库中,使用 ROWID 进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销。 ROWID 基本概念 ROWID 是 Oracle 数据库中每一行的唯一物理地址标识符ÿ…...
webpack 的工作流程
Webpack 的工作流程可以分为以下几个核心步骤,我将结合代码示例详细说明每个阶段的工作原理: 1. 初始化配置 Webpack 首先会读取配置文件(默认 webpack.config.js),合并命令行参数和默认配置。 // webpack.config.js…...
tcpdump 的用法
tcpdump 是一款强大的命令行网络抓包工具,用于捕获和分析网络流量。以下是其核心用法指南: 一、基础命令格式 sudo tcpdump [选项] [过滤表达式]权限要求:需 root 权限(使用 sudo) 二、常用选项 选项说明-i <接口…...
Agent杂货铺
零散记录一些Agent相关的内容。不成体系,看情况是否整理 ReAct ReAct 是一种实践代理模型的高级框架,通过将大语言模型(LLMs)的推理和执行行动的能力结合起来,增强了它们在处理复杂任务时的决策能力、适应性和与外部…...

【Redis】Redis的主从复制
文章目录 1. 单点问题2. 主从模式2.1 建立复制2.2 断开复制 3. 拓扑结构3.1 三种结构3.2 数据同步3.3 复制流程3.3.1 psync运行流程3.3.2 全量复制3.3.3 部分复制3.3.4 实时复制 1. 单点问题 单点问题:某个服务器程序,只有一个节点(只搞一个…...

第04章—技术突击篇:如何根据求职意向进行快速提升与复盘
经过上一讲的内容阐述后,咱们定好了一个与自身最匹配的期望薪资,接着又该如何准备呢? 很多人在准备时,通常会选择背面试八股文,这种做法效率的确很高,毕竟能在“八股文”上出现的题,也绝对是面…...

Quantum convolutional nerual network
一些问答 1.Convolution: Translationally Invariant Quasilocal Unitaries 理解? Convolution(卷积): 在量子信息或量子多体系统中,"卷积"通常指一种分层、局部操作的结构,类似于经典卷积神经网…...

RL之ppo训练
又是一篇之前沉在草稿箱的文章,放出来^V^ PPO原理部分这两篇就够了: 图解大模型RLHF系列之:人人都能看懂的PPO原理与源码解读人人都能看懂的RL-PPO理论知识 那些你或多或少听过的名词 actor-critic: actor表示策略,critic表示价值…...
AI云防护真的可以防攻击?你的服务器用群联AI云防护吗?
1. 传统防御方案的局限性 静态规则缺陷:无法应对新型攻击模式(如HTTP慢速攻击)资源浪费:固定带宽采购导致非攻击期资源闲置 2. AI云防护技术实现 动态流量调度算法: # 智能节点选择伪代码(参考群联防护…...

Docker封装深度学习模型
1.安装Docker Desktop 从官网下载DockerDesktop,安装。(默认安装位置在C盘,可进行修改) "D:\Program Files (x86)\Docker\Docker Desktop Installer.exe" install --installation-dir"D:\Program Files (x86)\Do…...

11、参数化三维产品设计组件 - /设计与仿真组件/parametric-3d-product-design
76个工业组件库示例汇总 参数化三维产品设计组件 (注塑模具与公差分析) 概述 这是一个交互式的 Web 组件,旨在演示简单的三维零件(如带凸台的方块)的参数化设计过程,并结合注塑模具设计(如开模动画)与公…...
4.4 os模块
os模块: chdir:修改工作路径 --- 文件所在位置的标识 getcwd():返回当前路径,如果修改了则显示修改后的路径 curdir:获取当前目录的表示形式 cpu_count():返回当前cpu的线程数 getppid(): 获取当前进程编号 getppid():获取当前进程的父进…...

OpenAI 30 亿收购 Windsurf:AI 编程助手风口已至
导语: 各位开发者同仁、产品经理伙伴们,从2024年起,一场由AI驱动的研发范式革命已然来临。Cursor等AI代码编辑器凭借与大语言模型的深度集成,正以前所未有的态势挑战,甚至颠覆着IntelliJ、VS Code等传统IDE的固有疆域。根据OpenRouter的API使用数据,Anthropic的Claude 3.…...
材料创新与工艺升级——猎板PCB引领高频阻抗板制造革命
在5G通信、AI服务器和自动驾驶的推动下,高频电路对信号完整性的要求日益严苛。猎板PCB作为国内高端PCB制造的标杆企业,通过材料创新与工艺革新,实现了阻抗控制的突破性进展,为行业树立了新标杆。 1. 高频材料的突破 传统FR-4基材…...
协议路由与路由协议
协议路由”和“路由协议”听起来相似,但其实是两个完全不同的网络概念。下面我来分别解释: 一、协议路由(Policy-Based Routing,PBR) ✅ 定义: 协议路由是指 根据预设策略(策略路由࿰…...

【linux】倒计时小程序、进度条小程序及其puls版本
小编个人主页详情<—请点击 小编个人gitee代码仓库<—请点击 linux系列专栏<—请点击 倘若命中无此运,孤身亦可登昆仑,送给屏幕面前的读者朋友们和小编自己! 目录 前言一、知识铺垫1. 回车换行2. 缓冲区 二、倒计时小程序1. 实现 三、进度条小…...
HTML难点小记:一些简单标签的使用逻辑和实用化
HTML难点小记:一些简单标签的使用逻辑和实用化 jarringslee 文章目录 HTML难点小记:一些简单标签的使用逻辑和实用化简单只是你的表象标签不是随便用的<div> 滥用 vs 语义化标签的本质嵌套规则的隐藏逻辑SEO 与可访问性的隐形关联 暗藏玄机的表单…...
FastAPI实现JWT校验的完整指南
在现代Web开发中,构建安全的API接口是开发者必须面对的核心挑战之一。随着FastAPI框架的普及,其异步高性能特性与Python类型提示的结合,为开发者提供了构建高效服务的强大工具。本文将深入探讨如何基于FastAPI实现JWT(JSON Web To…...

物流无人机结构与载货设计分析!
一、物流无人机的结构与载货设计模块运行方式 1.结构设计特点 垂直起降与固定翼结合:针对复杂地形(如山区、城市)需求,采用垂直起降(VTOL)与固定翼结合的复合布局,例如“天马”H型无人机&am…...
Linux 常用命令集合
以下是一份 Linux 常用命令集合,涵盖文件操作、系统管理、网络管理、权限管理、进程管理等常见任务,并附上代码示例: 1. 文件与目录操作 命令作用示例ls列出目录内容ls -l(详细列表) ls -a(显示隐藏文件&a…...
LoRA(Low-Rank Adaptation)原理详解
LoRA(Low-Rank Adaptation)原理详解 LoRA(低秩适应)是一种参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)技术,旨在以极低的参数量实现大模型在特定任务上的高效适配。其核心思想基于低秩分解假设,即模型在适应新任务时,参数更新矩阵具有低秩特性,可用少量参…...

【MySQL】表空间结构 - 从何为表空间到段页详解
📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…...

[特殊字符] 免税商品优选购物商城系统 | Java + SpringBoot + Vue | 前后端分离实战项目分享
一、项目简介 本项目为一款功能完备的 免税商品优选购物商城系统,采用 Java 后端 Vue 前端的主流前后端分离架构,支持用户、商家、管理员三类角色,满足商品浏览、下单、商家管理、后台运营等多项功能,适用于实际部署或作为毕业设…...

图像处理基础与图像变换
一、目的 通过本次实验,加深对数字图像的理解,熟悉MATLAB中的有关函数;应用DCT对图像进行变换;熟悉图像常见的统计指标,实现图像几何变换的基本方法。 二、内容与设计思想 1、实验内容:选择两幅图像&…...
《Effective Python》第1章 Pythonic 思维详解——深入理解 Python 条件表达式(Conditional Expressions)
《Effective Python》第1章 Pythonic 思维详解——深入理解 Python 条件表达式(Conditional Expressions) 在 Python 中,条件表达式(conditional expressions)提供了一种简洁的方式来在一行中实现 if/else 的逻辑。它…...

并发笔记-锁(一)
文章目录 1. 基本问题与锁的概念 (The Basic Idea)2. 锁的API与Pthreads (Lock API and Pthreads)3. 构建锁的挑战与评估标准 (Building A Lock & Evaluating Locks)4. 早期/简单的锁实现尝试及其问题 (Early/Simple Attempts)4.1 控制中断 (Controlling Interrupts)4.2 仅…...

【Bootstrap V4系列】学习入门教程之 组件-媒体对象(Media object)
Bootstrap V4系列 学习入门教程之 组件-媒体对象(Media object) 媒体对象(Media object)一、Example二、Nesting 嵌套三、Alignment 对齐四、Order 顺序五、Media list 媒体列表 媒体对象(Media object) B…...