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

Qt6入门教程 4:Qt Creator常用技巧

在上一篇Qt6入门教程 3:创建Hello World项目中,通过创建一个Qt项目,对Qt Creator已经有了比较直观的认识,本文将介绍它的一些常用技巧。
Qt Creator启动后默认显示欢迎页面


创建项目已经用过了,打开项目也很简单,就是打开一个已经存在的项目。
项目历史记录非常有用,能快速打开最近使用过的项目。
会话记录及管理不知道是干啥的,平时也用不到。
Get Started、示例和教程一看就是些学习资料,不过都是英文的,搭配百度翻译自学效率更高哦。
编译、运行及调试在上篇中已做介绍。

一.模式选择

1.编辑

在项目历史记录中打开上篇新建的HelloWorld项目,会自动切换到编辑页面

代码编辑区顶部工具栏会显示文件编码格式,点击该编码格式,会弹出“文件编码”对话框,方便设置当前文件编码。

1.1缩放字体

代码编辑区的字母看起来非常小,可以使用快捷键Ctrl+“+”来放大字体,或者使用Ctrl+“-”来缩小字体。使用Ctrl+滚轮能达到同样的效果。使用Ctrl+0可以使字体还原到默认大小(100%)。
PS:刚发现记事本也支持这几种快捷键

1.2更换主题

如果对代码的配色不喜欢,可以换一个主题。Qt Creator默认的主题是白底的,看着比较晃眼,我比较喜欢Dark主题。可以在"首选项"窗口中进行配置

打开“首选项”窗口有两种方法,一是菜单项“工具”—>“外部”—>“配置...”;二是菜单项“编辑”—>“Preferences...”。

1.3设置文件编码


默认编码为UTF-8,Default line endings为Windows(CRLF),这两项不用修改。当默认编码为UTF-8时,UTF-8 BOM有三个选项,如下表所示:

UTF-8 BOM说明
如果编码是UTF-8则添加新添加、编辑并保存的文件是UTF-8 BOM格式
目前存在了则保留如果文件是UTF-8格式,编辑并保存后依然是UTF-8格式;如果文件是UTF-8 BOM格式,编辑并保存,这个文件的BOM会保留。
总是删除如果文件是UTF-8格式,编辑并保存后依然是UTF-8格式;如果文件是UTF-8 BOM格式,编辑并保存,这个文件的BOM会被删除,变为UTF-8格式。

这里初学Qt的话,默认就行。实践中我们可以设置为“总是删除”,因为UTF-8 BOM虽然在Windows上支持的比较好,但是Windows外的其他系统可能会导致问题,比如说Linux系统下,默认的编码就是UTF-8不带BOM。

1.4分栏

点击代码编辑区右上角的分栏按钮,可弹出菜单进行分栏(上下分栏)、左右分栏和在新窗口的打开文件;对应的菜单项是“控件”—>“分栏”、“控件”—>"左右分栏"和“控件”—>“在新窗口中打开”。这几个功能是非常实用的,可以在写代码时打开多个文件做参考。由于功能都差不多,这里只演示左右分栏。

点击右上角的关闭分栏按钮可以关闭相应的分栏。

1.5代码对齐

选中代码段后,使用快捷键Ctrl+I可以对齐代码。

1.6切换源文件和头文件

F4

1.7注释或取消注释

选中代码段后,使用快捷键Ctrl+/可以注释代码或取消注释。

2.设计

双击*ui文件,会自动切换到设计页面,设计页面在上篇中已经介绍,这里不再赘述。

3.调试

点击调试按钮“”或快捷键F5,会自动切换到调试页面,关于调试,简单的打断点上篇已经介绍,如果想深入学习,详见:Qt基础之三十九:Qt Creator调试技巧

4.项目

点击项目按钮,切换到项目页面,默认显示的是当前构建套件的“构建设置”页面

在“构建设置”页面中可以设置构建目录,还可以从构建步骤中大概推断出构建过程:Qt Creator会调用qmake生成makefile,然后调用本地的make系统(mingw32-make.exe或nmake.exe),执行生成的makefile构建脚本,从而完成项目构建。
“运行设置”里可以设置命令行参数,这在测试需要给main函数传递参数的应用场景时非常有用。


双击套件列表中的某个套件,可以切换到该套件,比如双击Qt 5.12.6(MinGW 32)这个套件。
可以看到HelloWord项目目前配置了两个套件,且当前套件为Qt 5.12.6(MinGW 32)。

5.帮助

点击帮助按钮,切换到帮助页面

帮助页面将Qt Assistant整合了进来,包含书签、查找、目录和索引等几个导航模式(默认是目录),可以在帮助中查看Qt和Qt Creator的各种信息。
当我们在开发过程中,遇到不了解的Qt方法或类,可以切换到索引导航,然后进行搜索,帮助文档里面会有这个方法或类的介绍以及使用说明。下图是qDebug的帮助。

相比这种查看帮助的方式,我更喜欢直接用Qt Assistant。

二.输出面板

1.问题

用于显示程序编译时的错误和警告信息。
我打算用qDebug输出“Hello World”,但是故意不以分号结束。此时点击编译按钮,会在“问题”窗口中给出错误提示。

同时,“编译输出”窗口也会给出编译错误信息。

2.应用程序输出

用于显示程序运行过程中公输出的所有信息,主要用于程序开发期间的调试。
我们把分号加上,编译并运行,“应用程序输出”窗口打印了Hello World。

3.搜索结果

用于显示执行了搜索操作后的结果信息。这个窗口实际上和“查找/替换”功能密切相关。
在代码编辑器按下快捷键Ctrl+F,或者点击菜单项“编辑”—>“查找/替换”,会出现“查找/替换”工具条,但是此工具条只能用于查找当前文件,比如查找Hello

点击“高级...”按钮,会自动切换到搜索结果窗口,这里就支持全局查找和替换啦

4.编译输出

用于显示程序编译过程输出的相关信息。从图中可以看到是调用g++进行编译的。

5.Terminal

提供了和CMD窗口类似的功能

原文链接:Qt6入门教程 4:Qt Creator常用技巧-CSDN博客 

相关文章:

Qt6入门教程 4:Qt Creator常用技巧

在上一篇Qt6入门教程 3:创建Hello World项目中,通过创建一个Qt项目,对Qt Creator已经有了比较直观的认识,本文将介绍它的一些常用技巧。 Qt Creator启动后默认显示欢迎页面 创建项目已经用过了,打开项目也很简单&#…...

阴盘奇门八字排盘马星位置计算方法php代码

如下位置,马星的四个位置。 计算方法: 1。先根据出生年月日,计算得八字四柱。比如 2024年01月09日,四柱为 其中时柱地支为“申” 2。然后根据以下对应的数组,来找到id号,即马星位置。 根据下表来找到&am…...

vue3 使用 jsoneditor

vue3 使用 jsoneditor 在main.js中引入 样式文件 import jsoneditor/dist/jsoneditor.css复制代码放到文件中就能用了 jsoneditor.vue <template><div ref"jsonDom" style"width: 100%; height: 460px"></div> </template> <…...

若依前后端分离版使用mybatis-plus实践教程

1、根目录得pom加入依赖 <properties><mybatis-plus.version>3.5.1</mybatis-plus.version> </properties> <dependencies><!-- mp配置--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus…...

SpringBoot-Dubbo-Zookeeper

Apache Dubbo&#xff1a;https://cn.dubbo.apache.org/zh-cn/overview/home/ 依赖 <!--dubbo--> <dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.3</versio…...

华为HCIE课堂笔记第十二章 ICMPv6和NDP协议

第十二章 ICMPv6和NDP 12.1 背景 ICMPv6协议用于IPV6协议的消息传递&#xff1a;地址解析、重复地址检测、无状态地址配置、NDP协议、路径MTU发现。 12.2 ICMPv6介绍 ICMPv6的头部字段包含Type字段、Code字段、校验和字段。 消息分为两种&#xff1a; 查错消息&#xff…...

GNSS科研常用相关网站及资源

代码类&#xff1a; Github GitHub: Let’s build from here GitHub 导航相关开源项目 GNSS&#xff1a;RTKLIB、GAMP II-GOOD、GPSTest、GNSSLogger 组合导航&#xff1a;ignav、VINS、Multi_Sensor_Fusion Gitee&#xff08;从Github导入后快速下载库&#xff09; Gi…...

进程的创建与回收学习笔记

目录 一、进程内容&#xff1a; 二、进程常用命令 三、创建子进程 四、子进程进阶 五、进程的退出 六、进程的回收 一、进程内容&#xff1a; 程序&#xff1a; 存放在磁盘上的指令和数据的有序集合&#xff08;文件&#xff09; 静态的 进程&#xff1a; 执行一个程序所…...

【CCNet】《CCNet:Criss-Cross Attention for Semantic Segmentation》

ICCV-2019 文章目录 1 Background and Motivation2 Related Work3 Advantages / Contributions4 Method5 Experiments5.1 Datasets and Metrics5.2 Experiments on Cityscapess5.3 Experiments on ADE20K5.4 Experiments on COCO 6 Conclusion&#xff08;own&#xff09; 1 Ba…...

Qt QSQlite数据库插入字符串中存在单个双引号或单个单引号解决方案

1. 前言 当进行数据库写入或更新时&#xff0c;有时会遇到存在字符串中包含单个双引号或者单引号。 2. 单引号和双引号""作用 在数据库中&#xff0c;字符串常量时需要用一对英文单引号或英文双引号""将字符串常量括起来。 比如&#xff1a; select * …...

Linux系统中的IP地址、主机名、和域名解析

1.IP地址 每一台联网的电脑都会有一个地址&#xff0c;用于和其它计算机进行通讯 IP地址主要有2个版本&#xff0c;V4版本和V6版本&#xff08;V6很少用&#xff0c;暂不涉及&#xff09; IPv4版本的地址格式是&#xff1a;a.b.c.d&#xff0c;其中abcd表示0~255的数字&…...

soc算法【周末总结】

1 实验一&#xff08;SOC误差30%放电实验&#xff09; 1.1 实验过程 1、对电池包进行充电&#xff0c;将昨天放空的电池包进行充电&#xff0c;充电至SOC40%左右&#xff1b; 2、电池包SOC为38%时&#xff0c;手动修改SOC值为70%&#xff0c;开始放电 3、SOC由70%缓慢降至4…...

SpringBoot之优化高并发场景下的HttpClient并提升QPS

HttpClient优化思路 使用连接池&#xff08;简单粗暴&#xff09; 长连接优化&#xff08;特殊业务场景&#xff09; httpclient和httpget复用 合理的配置参数&#xff08;最大并发请求数&#xff0c;各种超时时间&#xff0c;重试次数&#xff09; 异步请求优化&#xff0…...

go-zero 如何在任意地方获取yaml中的值

1、config配置文件中新增全局变量 package configimport "github.com/zeromicro/go-zero/rest"type Config struct {rest.RestConfDB struct {DataSource string}Redis struct {Addr stringPassWord stringUserName string}Auth struct {AccessSecret stringAcc…...

C++20结构化绑定应用实例(二百五十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…...

改进YOLOv8注意力系列四:结合中心化特征金字塔EVCBlock、大核卷积注意力LKA_Attention、全局注意力MobileViTAttention

改进YOLOv8注意力系列三:结合CrissCrossAttention、ECAAttention、EMAU期望最大化注意力 代码大核卷积注意力LKA_Attention中心化特征金字塔EVCBlock全局注意力MobileViTAttention加入方法各种yaml加入结构本文提供了改进 YOLOv8注意力系列包含不同的注意力机制以及多种加入方…...

idea中使用Lombok 失效,@Slf4j 找不到符号的解决办法

文章目录 一、前言二、问题排查和解决方案三、 其他解决方案3.1 另一种解决方案3.2 参考文章 一、前言 今天在一个多module工程中&#xff0c;新增了一个 springboot&#xff08;版本 2.2.4.RELEASE&#xff09; module&#xff0c;像往常一样&#xff0c;我引入了lombok依赖&…...

MySQL修炼手册8:约束与完整性:保证数据的一致性

目录 写在开头1 主键与唯一键约束1.1 PRIMARY KEY约束的作用1.2 主键的复合使用1.3 主键的修改与删除1.4 UNIQUE约束的应用场景1.5 主键与唯一键约束的性能影响1.6 主键的自动增长1.7 主键的最佳实践1.8 独特性与业务需求1.9 避免过度使用唯一约束1.10 主键与唯一键的关系 2 外…...

React入门 - 03(初识 React 组件和 JSX)

本章内容 目录 1.初识 React 组件2.关于 JSX 继上一节的工程案例&#xff0c;我们这一节主要了解一下 React组件和 “JSX 语法”。 前置知识点&#xff1a;ES6模块化&继承 1.初识 React 组件 1、打开 src/index.js文件&#xff08;项目的入口文件&#xff09;内容&…...

华为OD机试 - 反射计数(Java JS Python C)

题目描述 给定一个包含 0 和 1 的二维矩阵。 给定一个初始位置和速度,一个物体从给定的初始位置出发,在给定的速度下进行移动,遇到矩阵的边缘则发生镜面发射。 无论物体经过 0 还是 1,都不影响其速度。 请计算并给出经过 t 时间单位后,物体经过 1 点的次数。 矩阵以左…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...