当前位置: 首页 > news >正文

Windows 开发工具使用技巧 QT使用安装和使用技巧 QT快捷键

一、QT配置

1. 安装 Qt 开发框架

1、下载

1、进入下载地址

下载地址1 (官方, 需注册账号):

https://www.qt.io/download

下载地址2(推荐):

http://download.qt.io/http://download.qt.io/archive/qt/ (或更直接的)
2、安装

以Qt5.11为例,如果你是使用 MinGW 进行编译,请务必选中 MinGW 模块。而如果你希望调用 VS 的编译器进行编译,则需要勾选对应的 VS 模块。当然,如果希望进行安卓开发,则安卓模块是少不了。

在这里插入图片描述

2. Qt Creator IDE 配置

Qt Creator 是专门为 Qt 开发设计的集成开发环境,提供了项目管理、代码编辑、设计器等功能。

(1) 设置 Qt 版本

打开 Qt Creator。
依次进入 工具 -> 选项 -> Qt 版本。
在该页面中添加 Qt 安装路径,IDE 会自动检测并列出可用的 Qt 版本。

(2) 设置编译器

Qt Creator 可以使用多种编译器,常用的有:

MinGW:用于 Windows 平台的开源编译器。
MSVC(Microsoft Visual C++):Windows 平台下的专业级编译器,性能更强大。
GCC/Clang:用于 Linux 和 macOS 平台。
配置步骤:

打开 工具 -> 选项 -> 构建与运行 -> 编译器。
点击 添加,选择你的编译器类型(如 MinGW、GCC、Clang、MSVC)。
如果安装了 Visual Studio,可以让 Qt Creator 自动检测 MSVC 编译器。

(3) 设置调试器

调试器是开发过程中必不可少的工具,用于检查代码运行时的状态。

对于 MinGW,使用 GDB 调试器。
对于 MSVC,使用 Visual Studio 提供的调试器。
在 工具 -> 选项 -> 构建与运行 -> 调试器 中可以配置调试器。

3. 选择并创建项目

Qt Creator 支持多种类型的项目,如:

Qt Widgets 应用程序:传统的桌面应用程序。
Qt Quick 应用程序:基于 QML 的现代应用程序。
控制台应用程序:不需要图形界面的应用程序。
库项目:创建可复用的 Qt 库。
创建项目步骤:
点击 文件 -> 新建项目。
选择项目类型(例如 “Qt Widgets Application” 或 “Qt Quick Application”)。
按照提示选择项目路径和 Qt 版本、编译器。

4. CMake 和 qmake 构建系统

Qt 支持两种主要的构建系统:

qmake:Qt 自带的构建工具,适合小型项目。
CMake:现代化的跨平台构建系统,适合大型项目或需要与非 Qt 项目集成时使用。

(1) 使用 qmake

默认情况下,Qt Creator 使用 qmake 构建系统,项目文件后缀为 .pro。

项目文件包含头文件、源文件、库依赖等信息。
可以通过编辑 .pro 文件来添加新的模块或库。

(2) 使用 CMake

对于更复杂的项目,建议使用 CMake 构建系统。可以通过 CMakeLists.txt 文件配置项目。

创建项目时,选择 “CMake Project”。
编辑 CMakeLists.txt 文件,添加 Qt 模块和依赖项。

5. Qt Designer(UI 设计器)

Qt Designer 是一个强大的图形界面设计工具,允许你通过拖放组件来设计应用程序的用户界面。

在 Qt Creator 中可以通过 设计 视图进入 Qt Designer。
设计完成后,Qt 将生成相应的 .ui 文件。
可以使用 uic 工具将 .ui 文件转换为 C++ 代码,或者直接在项目中引用它们。

6. 运行与调试

在 Qt Creator 中配置完开发环境后,可以直接编译、运行和调试项目。

点击 Ctrl+R 运行项目。
在调试模式下,按下 F5 开始调试,利用断点和变量监视功能分析代码执行情况。

7. 额外工具配置

(1) Qt Virtual Keyboard

如果开发需要输入法支持,可以安装 Qt Virtual Keyboard 模块。

(2) Qt for Python

如果计划使用 Python 开发基于 Qt 的应用,安装 PySide2 或 PySide6。

(3) 跨平台部署

Qt 支持跨平台开发,但不同平台上需要不同的工具链。例如:

Windows 使用 MinGW 或 MSVC。
Linux 使用 GCC。
macOS 使用 Xcode(Clang)。

8. 环境变量配置

确保环境变量正确配置,特别是 Qt 和 编译器 的路径设置。在 Linux 和 macOS 中,通常需要修改 ~/.bashrc 或 ~/.zshrc 文件来配置环境变量:export PATH=$PATH:/path/to/qt/bin
export PATH=$PATH:/path/to/compiler/bin

在 Windows 中,可以通过系统属性中的 “环境变量” 选项进行设置。

二、使用技巧

1. 项目结构管理

文件过滤:在大型项目中,你可以通过文件过滤器隐藏不需要的文件,保持项目视图的简洁。
在 项目 -> 项目视图 中,右键点击文件夹可以选择 过滤 文件类型。
标记书签:在代码中重要的位置,可以使用 Ctrl+M 添加书签,方便快速跳转到该位置。

2. 版本控制集成

Qt Creator 支持 Git、Subversion 等版本控制系统:

通过 工具 -> 选项 -> 版本控制,配置 Git 或其他 VCS 工具路径。
在代码编辑器右键点击文件,可以执行 Git 提交、拉取、合并等操作。

3. 快速导航和搜索

Qt Creator 提供多种快捷导航方式:

文件快速跳转:使用 Ctrl+K 打开快速访问面板,输入文件名或函数名即可快速跳转。
快速搜索:使用 Ctrl+Shift+F 进行全局搜索,可以在项目中搜索特定的符号、类或函数。
导航历史:使用 Ctrl± 和 Ctrl+Shift± 可以前后跳转代码编辑历史。

4. 多屏布局与分屏

为了高效查看多个文件,可以使用 Qt Creator 的多窗口布局:

使用 窗口 -> 拆分,将代码编辑器拆分为多个视图。
你可以根据需求将 Qt Creator 界面自定义为多种布局,并通过 窗口 -> 保存布局 保存不同的工作环境。

5. 代码自动补全与提示

使用 Ctrl+Space 可以在任何时候打开代码自动补全提示。Qt Creator 会根据上下文提供智能代码提示,极大提高编写代码的效率。

三、Qt Creator 常用快捷键

掌握 Qt Creator 的常用快捷键,能显著提升工作效率。以下是一些开发中常用的快捷键汇总:

1、常用快捷键

Ctrl + / 多行注释/取消多行注释
Ctrl + B 编译工程
Ctrl + R 运行工程
Ctrl+Alt+up(向上箭头) 当前行向上复制
Ctrl+Alt+down(向下箭头) 当前行向下复制
Ctrl+Shift+up(向上箭头) 整行向上移动
Ctrl+Shift+down(向下箭头) 整行向下移动
Ctrl + I 代码格式化对齐
Ctrl + L 跳到某一行
Ctrl + F 查找/替换当前选中的内容,对与所选内容一致的部分进行高亮显示
F1 查看帮助(选中某一类或函数,按下F1,跳转帮助文档)
F2 在光标选中对象的声明和定义之间切换(和Ctrl+鼠标左键一样的效果,选中某一类或函数)
Shift + F2 声明和定义之间切换
F9 设置和取消断点
F10 单步跳过
F11 单步进入

2、其余快捷键

Esc 切换到代码编辑状态
F3 查找下一个
F4 头文件和源文件之间切换
F5 开始调试/继续执行
Shift + F3 查找上一个
Shift + F5 停止调试
Shift + F11 单步跳出
Ctrl + 0 编辑界面恢复默认字体
Ctrl + 1 激活欢迎模式
Ctrl + 2 激活编辑模式
Ctrl + 3 激活调试模式
Ctrl + 4 激活项目模式
Ctrl + 5 激活帮助模式
Ctrl + 6 激活输出模式
Ctrl + E 释放后按0 删除新建的分栏
Ctrl + E 释放后按1 删除所有分栏
Ctrl + E 释放后按2 上下分栏
Ctrl + E 释放后按3 左右分栏
Ctrl + K 定位文件,可以找到对应的文件
Ctrl + M 添加/删除书签(书签也可以添加文字标注)
Ctrl + W 关闭当前编辑的文件
Ctrl + . 下一个书签
Ctrl + , 上一个书签
Ctrl + [ 跳到代码块的头部
Ctrl + ] 跳到代码块的尾部
Ctrl + Tab 快速切换已打开的文件
Ctrl + Space 自动补全(Windows系统下与输入法切换快捷键冲突)
Ctrl + 转动鼠标滚轮 调整编辑区字体大小
Ctrl + Shift + F5 重启调试
Ctrl + Shift + F 在项目/文件夹下查找
Ctrl + Shift + R 局部变量统一修改(将光标移动到需要更改的变量上,按Ctrl+Shift+ R,当前变量名称外框为红色时,表示已经已激活全局修改功能,当修改此处变量名称时将一同修改代码中所有使用该变量的变量名。),全局变量开启全局替换窗口
Ctrl + Shift + U 查找所有使用该符号的地方
Ctrl + Shift + < 折叠代码块
Ctrl + Shift + > 展开代码块
Alt + 0 隐藏或显示边栏,编辑模式下起作用(有时写的函数太长,屏幕不够大,就用这个)
Alt + 1 切换至/关闭生成窗口
Alt + 2 切换至/关闭搜索结果窗口
Alt + 3 切换至/关闭应用输出窗口
Alt + 4 切换至/关闭编译输出窗口
Alt + 5 切换至/关闭QML/JS Console窗口
Alt + 6 切换至/关闭概要信息窗口
Alt + 7 切换至/关闭版本控制窗口
Alt + 9 最大化/最小化输出窗口
Alt + 左光标返回到上一位置
Alt + 右光标前进到下一位置
Alt + Enter将光标移动到h文件中的方法声明,按Alt+Enter,再按回车键将在cpp中添加对应的方法
Alt +left(向左箭头)页面切换.h和.cpp
Alt +right(向右箭头)页面切换.h和.cpp
Alt + M激活书签窗口

相关文章:

Windows 开发工具使用技巧 QT使用安装和使用技巧 QT快捷键

一、QT配置 1. 安装 Qt 开发框架 1、下载 1、进入下载地址 下载地址1 (官方, 需注册账号)&#xff1a; https://www.qt.io/download下载地址2&#xff08;推荐&#xff09;&#xff1a; http://download.qt.io/http://download.qt.io/archive/qt/ &#xff08;或更直接的…...

【实战教程】SpringBoot全面指南:快速上手到项目实战(SpringBoot)

文章目录 【实战教程】SpringBoot全面指南&#xff1a;快速上手到项目实战(SpringBoot)1. SpringBoot介绍1.1 SpringBoot简介1.2系统要求1.3 SpringBoot和SpringMVC区别1.4 SpringBoot和SpringCloud区别 2.快速入门3. Web开发3.1 静态资源访问3.2 渲染Web页面3.3 YML与Properti…...

LeetCode讲解篇之1043. 分隔数组以得到最大和

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 对于这题我们这么考虑&#xff0c;我们选择以数字的第i个元素做为分隔子数组的右边界&#xff0c;我们需要计算当前分隔子数组的长度为多少时能让数组[0, i]进行分隔数组的和最大 我们用数组f表示[0, i)区间内的…...

Python知识点:结合Python工具,如何使用TfidfVectorizer进行文本特征提取

开篇&#xff0c;先说一个好消息&#xff0c;截止到2025年1月1日前&#xff0c;翻到文末找到我&#xff0c;赠送定制版的开题报告和任务书&#xff0c;先到先得&#xff01;过期不候&#xff01; 如何使用Python的TfidfVectorizer进行文本特征提取 在自然语言处理&#xff08;…...

Diffusion models(扩散模型) 是怎么工作的

前言 给一个提示词, Midjourney, Stable Diffusion 和 DALL-E 可以生成很好看的图片&#xff0c;那么它们是怎么工作的呢&#xff1f;它们都用了 Diffusion models&#xff08;扩散模型&#xff09; 这项技术。 Diffusion models 正在成为生命科学等领域的一项尖端技术&…...

查找回收站里隐藏的文件

在Windows里&#xff0c;每个磁盘分区都有一个隐藏的回收站Recycle&#xff0c; 回收站里保存着用户删除的文件、图片、视频等数据&#xff0c;比如&#xff0c;C盘的回收站为C:\RECYCLE.BIN\&#xff0c;D盘的的回收站为D:\RECYCLE.BIN\&#xff0c;E盘的的回收站为E:\RECYCLE…...

[运维]2.elasticsearch-svc连接问题

Serverless 与容器决战在即&#xff1f;有了弹性伸缩就不一样了 - 阿里云云原生 - 博客园 当我部署好elasticsearch的服务后&#xff0c;由于个人习惯&#xff0c;一般服务会在name里带上svc&#xff0c;所以我elasticsearch服务的名字是elasticsearch-svc&#xff1a; [root…...

Ajax面试题:(第一天)

目录 1.说一下网络模型 2.在浏览器地址栏键入URL&#xff0c;按下回车之后会经历以下流程&#xff1a; 3.什么是三次握手和四次挥手&#xff1f; 4.http协议和https协议的区别 1.说一下网络模型 注&#xff1a;各层含义按自己理解即可 2.在浏览器地址栏键入URL&#xff0c;…...

数据仓库拉链表

数仓拉链表是数据仓库中常用的一种数据结构&#xff0c;用于记录维度表中某个属性的历史变化情况。在实际应用中&#xff0c;数仓拉链表可以帮助企业更好地进行数据分析和决策。 数仓拉链表&#xff08;Slowly Changing Dimension, SCD&#xff09;是一种用于处理维表中数据变化…...

【JVM】实战篇

1、内存调优 1.1 内存溢出和内存泄漏 内存泄漏&#xff08;memory leak&#xff09;&#xff1a;在Java中如果不再使用一个对象&#xff0c;但是该对象依然在GC ROOT的引用链上&#xff0c;这个对象就不会被垃圾回收器回收&#xff0c;这种情况就称之为内存泄漏。 内存泄漏绝…...

2024年9月30日--10月6日(ue5肉鸽结束)

按照月计划&#xff0c;本周把ue肉鸽游戏完成&#xff0c;然后进行ue5太阳系 &#xff0c; 剩余14节&#xff0c;218分钟&#xff0c;如果按照10分钟的视频教程1小时进行完的话&#xff0c;则需要22小时&#xff0c;分布在10月2日-10月6日之间&#xff0c;每天44分钟的视频教程…...

【Python游戏开发】贪吃蛇游戏demo

准备步骤 项目开发使用【Mu 编辑器】 1.新建项目&#xff0c;并导入游戏图片 游戏编写 1.创建场景 SIZE 15 # 每个格子的大小 WIDTH SIZE * 30 # 游戏场景总宽度 HEIGHT SIZE * 30 # 游戏场景总高度def draw():screen…...

pytorch张量基础

引言张量的基础知识 张量的概念张量的属性张量的创建张量的操作 基本运算索引和切片形状变换自动微分 基本概念停止梯度传播张量的设备管理 检查和移动张量CUDA 张量高级操作 张量的视图广播机制分块和拼接张量的复制内存优化和管理 稀疏张量内存释放应用实例 线性回归神经网络…...

深入解析LlamaIndex Workflows【下篇】:实现ReAct模式AI智能体的新方法

之前我们介绍了来自LLM开发框架LlamaIndex的新特性&#xff1a;Workflows&#xff0c;一种事件驱动、用于构建复杂AI工作流应用的新方法&#xff08;参考&#xff1a;[深入解析LlamaIndex Workflows&#xff1a;构建复杂RAG与智能体工作流的新利器【上篇】]。在本篇中&#xff…...

要在 Git Bash 中使用 `tree` 命令,下载并手动安装 `tree`。

0、git bash 安装 git(安装,常用命令,分支操作,gitee,IDEA集成git,IDEA集成gitee,IDEA集成github,远程仓库操作) 1、下载并手动安装 tree 下载 tree.exe 从 tree for Windows 官方站点 下载 tree 的 Windows 可执行文件。tree for Window&#xff1a;https://gnuwin32.source…...

Linux的基本指令(1)

前提&#xff1a; a&#xff1a;博主是在云服务器上进行操作的 b&#xff1a;windows上普通文件在Linux中也叫作普通文件&#xff0c;但是windows上的文件夹&#xff0c;在Linux中叫作目录 c&#xff1a;文件 文件内容 文件属性(创建时间&#xff0c;修改时间&#xff0c;…...

JavaEE之多线程进阶-面试问题

一.常见的锁策略 锁策略不是指某一个具体的锁&#xff0c;所有的锁都可以往这些锁策略中套 1.悲观锁与乐观锁 预测所冲突的概率是否高&#xff0c;悲观锁为预测锁冲突的概率较高&#xff0c;乐观锁为预测锁冲突的概率更低。 2.重量级锁和轻量级锁 从加锁的开销角度判断&am…...

费曼学习法没有输出对象怎么办?

‌费曼学习法并不需要输出对象。‌费曼学习法的核心在于通过将所学知识以简明易懂的方式解释给自己听&#xff0c;从而加深对知识的理解和记忆。这种方法强调的是理解和反思的过程&#xff0c;而不是简单地通过输出&#xff08;如向他人解释&#xff09;来检验学习效果。费曼学…...

Hive优化操作(二)

Hive 数据倾斜优化 在使用 Hive 进行大数据处理时&#xff0c;数据倾斜是一个常见的问题。本文将详细介绍数据倾斜的概念、表现、常见场景及其解决方案。 1. 什么是数据倾斜&#xff1f; 数据倾斜是指由于数据分布不均匀&#xff0c;导致大量数据集中到某个节点或任务中&…...

销冠的至高艺术:让自己不像销售

若想在销售领域脱颖而出&#xff0c;首先是让自己超越传统销售的框架&#xff0c;成为客户心中不可多得的行业顾问与信赖源泉。这不仅是身份的蜕变&#xff0c;更是影响力与信任度质的飞跃。 销冠对客户只吸引不骚扰&#xff0c;不讲自己卖什么&#xff0c;只讲自己能解决什么…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...