Qt Creator(2)【如何在Qt Creator中创建新工程】

news2024/11/26 7:02:15

阅读导航

  • 引言
  • 一、Qt Creator开始界面介绍
  • 二、如何在Qt Creator中创建新工程
    • 1. 新建项目
    • 2. 选择项目模板
    • 3. 选择项目路径
    • 4. 选择构建系统
    • 5. 填写类信息设置界面
    • 6. 选择语言和翻译文件
    • 7. 选择Qt套件
    • 8. 选择版本控制系统
    • 9. 最终效果
  • 三、认识Qt Creator项目内容界面
    • 1. 基本界面
    • 2. UI设计界面
    • 3. 构建区

引言

Qt Creator提供了一套完整的工具集,旨在简化并加速Qt应用程序的开发流程。它不仅包括代码编辑、界面设计、版本控制等功能,还提供了代码自动补全、自定义构建系统和强大的调试工具。通过今天的学习,我们将掌握Qt Creator的基本使用,从创建项目、编写代码到应用程序的调试和部署,全方位提升我们的开发效率和体验。接下来,让我们一起探索Qt Creator的世界,让Qt开发变得更加得心应手。

一、Qt Creator开始界面介绍

在这里插入图片描述
①:菜单栏:菜单栏⼀共有8个菜单选项,包含了常⽤的功能菜单:

菜单功能描述
文件包含了新建、打开、关闭项目和文件、打印和退出等基本功能
编辑包含了撤销、剪切、复制、查找和选择编码等功能
构建包含构建和运行项目等相关功能。
调试包含调试运行项目等相关功能。
Analyze包含QML分析器、Valgrind内存和性能分析器等相关功能。
工具提供了快速定位菜单、外部工具菜单等。这里的选项菜单中包含了Qt Creator各个方面的设置选项:环境设置、文本编辑器设置、帮助设置、构建和运行设置、调试器设置和版本控制设置等。
控件包含了设置窗口布局的一些菜单,如全屏显示和隐藏边栏功能等。
帮助包含Qt帮助、Qt Creator版本信息、报告bug和插件管理等菜单。

②:模式选择

模式功能描述
欢迎模式提供功能的快捷入口,如打开帮助教程、示例程序、项目、新建项目、快速打开以前的项目和会话、联网查看Qt官方论坛和博客等。示例页面显示了Qt自带的大量示例程序,并提供了搜索栏以实现快速查找;教程页面提供了一些视频教程资源,但为英文。
编辑模式主要用来查看和编辑程序代码,管理项目文件。Qt Creator中的编辑器具有关键字特殊颜色显示、代码自动补全、声明定义间快捷切换、函数原型提示、F1键快速打开相关帮助和全项目中进行查找等功能。也可以在"工具->选项"菜单中对编辑器进行设置。
设计模式整合了Qt Designer的功能。可以设计图形界面,进行部件属性设置、信号和槽设置、布局设置等操作。
调试模式支持设置断点、单步调试和远程调试等功能,包含局部变量和监视器、断点、线程以及快照等查看窗口。
项目模式包含对特定项目的构建设置、运行设置、编辑器设置、代码风格设置和依赖关系等页面。构建设置中可以对项目的版本、使用的Qt版本和编译步骤进行设置;编辑器设置中可以设置文件的默认编码;在代码风格设置中可以设置自己的代码风格。
帮助模式在帮助模式中将Qt助手整合了进来,包含目录、索引、查找和书签等几个导航模式,可以在帮助中查看Qt和Qt Creator的各方面信息。

③:构建套件选择器:构建套件选择器包含了⽬标选择器(Target selector)、运⾏按钮(Run)、调试按钮(Debug)和构建按钮(Building)四个图标。

组件功能描述
目标选择器用来选择要构建哪个项目、使用哪个Qt库,对于多个Qt库的项目很有用。还可以选择编译项目的debug版本或是release版本。
运行按钮实现项目的构建和运行。
调试按钮实现项目的调试。
构建按钮完成项目的构建。

④:欢迎模式下的窗⼝⼯作⽅式

菜单功能描述
Project用来新建工程、打开工程。
示例包含Qt官方的一些示例。
教程提供Qt官方教程。

⑤:定位器:使⽤定位器来快速定位项⽬、⽂件、类、⽅法、帮助⽂档以及⽂件系统。可以使⽤过滤器来更加准确地定位要查找的结果。

⑥:输出窗格:输出窗格包含了问题、搜索结果(Search Results)、应⽤程序输出、编译输出、Debugger Console、概要信息、测试结果(Test Results)7个选项,它们分别对应⼀个输出窗⼝,响应的快捷键依次是Alt+数字1~7。

窗口名称功能描述
问题问题窗口显示程序编译时的错误和警告信息。
Search Results搜索结果窗口显示执行了搜索操作后的结果信息。
应用程序输出应用程序窗口显示应用程序运行过程中输出的所有信息。
编译输出编译输出窗口显示程序编译过程输出的相关信息。

⑦:会话记录:可以对会话进⾏管理,包括 Clone。如果没打开⼯程,则显⽰的是最后⼀次打开的(会话)⼯程,否则,显⽰当前的会话(⼯程)。

⑧:新建项目

⑨:打开已有项目

二、如何在Qt Creator中创建新工程

1. 新建项目

打开Qt Creator,在菜单栏中选中:“⽂件”-------->“新建⽂件或项⽬”;或者使⽤快捷键:Ctrl +
n;或者直接点击:“new”;
在这里插入图片描述
在欢迎模式下,直接点击New,如下图⽰:
在这里插入图片描述

2. 选择项目模板

在这里插入图片描述
新建项⽬对话框⾥有五类项⽬模板

项目模板说明
ApplicationQt应用程序,包括普通窗体程序和QtQuick程序。
Library可以创建动态库、静态库以及QtQuick扩展插件、QtCreator自身插件。
其他项目可以创建单元测试项目、Qt4设计师自定义控件、子目录项目等。
Non-Qt-Project非Qt项目。可以创建纯C或纯C++项目。
Import Project导入项目。从版本控制系统管理的软件项目导入旧的项目。

常⽤的只有第⼀类Application,选择它,在右侧会看到Qt应⽤程序的五个⼦模板

  • Qt Widgets Application:普通窗体模板,传统基于部件的窗体界⾯程序。
  • Qt Console Application:Qt 控制台应⽤程序。因为 Qt 主要⽤于图形界⾯设计,这个控制台项⽬模板基本不⽤。
  • Qt for Python:在Python下⽤LGPL的许可来开发闭源 Qt软件。
  • Qt Quick Application: Qt 提供的⼀种⾼级⽤⼾界⾯技术,使⽤它可以⽅便快速的为移动以及嵌⼊式设备开发流畅美观的⽤⼾界⾯。Qt Quick 模块是开发QML应⽤的标准库,提供了使⽤QML创建⽤⼾界⾯所需的⼀切,包括可视化、交互、动画、模型、视图、粒⼦效果以及着⾊效果等。

3. 选择项目路径

给Qt项⽬命名及选择保存项⽬的路径

在这里插入图片描述

4. 选择构建系统

选择Qt项⽬的构建系统,使⽤默认的"qmake"即可
在这里插入图片描述
Qt中的构建⼯具有三种可供选择,分别是:qmake、CMake、Qbs,下⾯依次介绍。

  • qmake:qmake是⼀个构建⼯具(build tool),⽤于⾃动⽣成makefile⽂件。qmake⽀持跨平台构建。qmake编辑的是⼀个后缀名为.pro的⽂件。
  • CMake:CMake是⼀个跨平台的构建⼯具。CMake本⾝不是⼀个编译器,其实就是⽣成⼀个让编译器能读懂编译流程的⽂件⼯具。让CMake⾃动⽣成构建系统,例如Makefile和Visual Studio项⽬⽂件。CMake是⼀个第三⽅⼯具,有⾃⼰的⽂档。
  • Qbs:Qbs(Qt Build Suite:Qt构建套件)同qmake、CMake⼀样都是构建⼯具。Qbs 号称是新⼀代的构建⼯具,⽐ qmake 编译速度更快。Qbs 没有绑定Qt版本,它从项⽬⽂件的⾼级项⽬描述中⽣成⼀个正确的依赖表。⽽传统的MakeFile⽣成⼯具如qmake和CMake,其在⽣成MakeFile⽂件后将实际的命令交给Make⼯具去执⾏。

Qt官⽅声明,因市场原因,弃⽤Qbs。对于Qt⽤⼾来说,qmake是当前使⽤最⼴泛的构建⼯具,CMake其次。

5. 填写类信息设置界面

在这里插入图片描述
对于基类的选择,⽬前有三种基类:

基类说明
QMainWindow主窗口类,一般用于较为复杂的应用程序,除了中央客户端界面,还包括菜单栏、工具栏、状态栏以及多个可停靠的工具对话框等。
QWidget最简单、最基本的窗体程序,里面可以放置多个控件实现程序功能。
QDialog基于对话框的程序,对话框一般用于弹窗,也可以用于主界面显示。对话框是从QWidget继承而来的,并丰富了一些功能,如模态显示和返回值等。

上述三个类之间的关系如下图:
在这里插入图片描述

6. 选择语言和翻译文件

点击"下⼀步"进⼊如下界⾯:
在这里插入图片描述

此处选择的语⾔是"汉语",“英语"这样的语⾔。⽽不是"编程语⾔”.
一般是不用设置的

7. 选择Qt套件

在这里插入图片描述

默认只有第⼀个"Desktop Qt 5.14.2 MinGW 64-bit",如果安装配置了多个Qt套件,就可以都选上。

Qt套件是指Qt程序从编译链接到运⾏环境的全部⼯具和Qt类库的集合,对于MinGW版本Qt程序⽣成和调试,⾄少需要MinGW中的编译器g++(⾃动调⽤链接器)、g++配套的基础库、调试器gdb还有使⽤MinGW环境编译⽽成的Qt类库⾃⾝。默认情况下,在上⾯Kit Selection⾥选中全部套件。

8. 选择版本控制系统

点击"下⼀步"进⼊项⽬管理界⾯;在项⽬管理界⾯可以设置作为⼦项⽬,以及加⼊版本控制系统管理。这两个功能暂时⽤不到,都⽤默认的<None>,然后点击"完成"。

在这里插入图片描述

9. 最终效果

在这里插入图片描述

三、认识Qt Creator项目内容界面

1. 基本界面

在这里插入图片描述

2. UI设计界面

双击widget.ui⽂件,Qt Creator会⾃动进⼊设计模式,可以对图形界⾯进⾏可视化编辑:
在这里插入图片描述
①:组件选择窗⼝:组件选择窗⼝分为多个组,如Layouts、Buttons、Display Widgets等,界⾯设计的常⻅组件都可以在组件选择窗⼝中找到。
②:UI设计窗⼝:如果要将某个组件放置到该窗⼝上时,从组件选择窗⼝上拖放⼀个组件到窗体上即可。
③:动作编辑窗⼝:动作编辑窗⼝包括Action Editor以及Signals和Slots编辑器。Action Editor主
要是⽤来新建Action,并且通过拖拽的动作,将新建好的Action添加到菜单栏和⼯具栏上;Signals
和Slots编辑器⽤于可视化地进⾏信号与槽的关联。
④:对象浏览窗⼝:⽤树状视图显⽰窗体上各组件之间的布局包含关系,视图有两列,显⽰每个组件
的对象名称(ObjectName)和类名称。
⑤:属性设置窗⼝:显⽰某个选中的组件或窗体的各种属性及其取值,可以在属性设置窗⼝⾥修改这
些属性的值。

3. 构建区

在这里插入图片描述
这⾥有三种构建模式

模式说明
Debug以"-g"模式编译,带着符号信息,优点是便于调试。
ProfileProfile是在"Debug"和"Release"之间取一个平衡,兼顾性能和调试,可以类似的看做是性能更优又方便调试的版本。
Release"Release"是经过优化之后,性能比"Debug"更上一个档次。

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

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

相关文章

数据安全革命:Web3带来的隐私保护创新

随着数字化时代的发展&#xff0c;数据安全和隐私保护问题日益突出。传统的中心化数据存储和管理方式已经无法满足日益增长的数据安全需求&#xff0c;而Web3作为下一代互联网的新兴力量&#xff0c;正以其去中心化、加密安全的特性&#xff0c;引领着一场数据安全革命。本文将…

力扣232. 用栈实现队列(两栈实现队列)

Problem: 232. 用栈实现队列 文章目录 题目描述思路Code 题目描述 思路 利用两个栈&#xff0c;一个入栈一个出栈搭配着实现队列的相关操作&#xff1a; 1.创建两个栈stack1和stack2&#xff1b; 2.void push(int x):将要入队的元素先入栈stack1&#xff1b; 3.int pop()&…

LangChain之链的应用(下)

LangChain之链的应用 Chain链的应用配置LLMChain&#xff1a;简单链create_stuff_documents_chain&#xff1a;文档链create_extraction_chain&#xff1a;提取信息链LLMMathChain&#xff1a;数学链create_sql_query_chain&#xff1a;SQL查询链连接数据库创建并使用链 Sequen…

C语⾔:内存函数

1. memcpy使⽤和模拟实现&#xff08;对内存块的复制&#xff0c;不在乎类型&#xff09; void * memcpy ( void * destination, const void * source, size_t num ); • 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。 • 这个函数在遇…

检索模型预训练方法:RetroMAE

论文title&#xff1a;https://arxiv.org/pdf/2205.12035RetroMAE: Pre-Training Retrieval-oriented Language Models Via Masked Auto-Encoder 论文链接&#xff1a;https://arxiv.org/pdf/2205.12035 摘要 1.一种新的MAE工作流&#xff0c;编码器和解器输入进行了不同的掩…

代码随想录算法训练营第四十六天||139.单词拆分

一、139.单词拆分 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict&#xff0c;判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明&#xff1a; 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1&#xff1a; 输入: s …

[智能AI摄像头]使用docker搭建RV1126开发环境

创建ubuntu docker 创建dockerfile # 设置基础镜像为Ubuntu 18.04FROM ubuntu:20.04# 设置作者信息MAINTAINER warren "2016426377qq.com"# 设置环境变量&#xff0c;用于非交互式安装ENV DEBIAN_FRONTENDnoninteractive# 备份源列表文件RUN cp -a /etc/apt/source…

洗地机哪个牌子清洁效果好?十大公认最好的洗地机品牌

在快节奏的现代生活中&#xff0c;洗地机以其吸尘、拖地和洗地三合一的功能&#xff0c;极大地简化了家庭清洁工作&#xff0c;已成为家庭清洁的得力助手。它不仅能缩短清洁时间&#xff0c;节省体力&#xff0c;还能提升清洁效果。作为资深的居家测评家&#xff0c;关于洗地机…

5W 3KVAC隔离 宽电压输入 AC/DC 电源模块,广泛用于工控和电力仪器、仪表、智能家居等相关行业——TP05AL系列

TP05AL系列产品是一款经济型开板式开关电源&#xff0c;输出功率为5W&#xff0c;具有可靠性高、小体积、性价比高等特点&#xff0c;广泛用于工控和电力仪器、仪表、智能家居等相关行业。 产品特性&#xff1a; 输出&#xff0c;输入特性 &#xff1a;

Python基于PyQt6制作GUI界面——多选框

QCheckBox 是 PyQt6 中的一个复选框控件&#xff0c;它允许用户通过单击来选择或取消选择某个选项。与 QRadioButton 不同&#xff0c;QCheckBox 控件并不互斥&#xff0c;这意味着用户可以同时选择多个 QCheckBox。示例对应的制作的 ui文件 界面如下所示。 <?xml version…

VSCode自动生成代码片段

1. 代码片段配置入口 输入&#xff1a;snipp 选择 Configure User Snippets 然后再选择 New Global Snippets file 输入 新建文件名称&#xff0c;然后按回车键。 2. 编辑代码模板 文件头和函数头模板&#xff1a; {"FileHeader":{"scope": "…

工作纪实50-Idea下载项目乱码

下载了公司的一份项目代码&#xff0c;发现是gbk格式的&#xff0c;但是我的日常习惯又是utf-8&#xff0c;下载项目以后全是乱码&#xff0c;一脸懵 借用网友的一张图&#xff0c;如果是一个一个文件这么搞&#xff0c;真的是费劲&#xff0c;好几百个文件&#xff01; 步骤…

React@16.x(11)ref

目录 1&#xff0c;介绍1.1&#xff0c;得到的结果 2&#xff0c;参数类型2.1&#xff0c;字符串&#xff08;不再推荐&#xff09;2.2&#xff0c;对象2.3&#xff0c;函数函数调用时机 3&#xff0c;注意点 1&#xff0c;介绍 reference 引用。和 vue 中的 refs 类似&#x…

【软考】下篇 第12章 信息系统架构设计理论与实践

目录 一、信息系统架构的定义二、信息系统架构风格三、信息系统架构分类四、信息系统常用的4种架构模型&#xff08;SCSB&#xff09;五、企业信息系统的总体框架ISA六、TOGAF & ADM七、信息化总体架构方法信息化六要素信息化架构模式信息系统生命周期&#xff08;规分设实…

AI绘画Stable Diffusion【ControlNet】:使用InstantID插件实现人物角色一致性

大家好&#xff0c;我是阿威。 今天我们介绍一下InstantID。它能够实现在保持高保真度身份保留的同时&#xff0c;仅使用单张面部图像参考就可以实现个性化图像合成&#xff0c;并且支持各种不同的风格。 今天我们就来看看在Stable Diffusion的ControlNet插件中InstantID模型…

国产性能怪兽——香橙派AI Pro(8T)上手体验报告以及性能评测

目录 1、引言2、性能参数3、开箱体验4、实际使用5、性能比较总结参考文章 1、引言 第一次接触香橙派的开发板&#xff0c;之前使用过Arduino、树莓派3B、树莓派4B&#xff0c;STM32&#xff0c;51单片机&#xff0c;没有想到国产品牌性能一样强劲&#xff0c;使用起来也是很方便…

[SWPUCTF 2022 新生赛]奇妙的MD5... ...

目录 [SWPUCTF 2022 新生赛]奇妙的MD5 [GDOUCTF 2023]受不了一点 [LitCTF 2023]作业管理系统 注入点一&#xff1a;文件上传 注入点二&#xff1a;创建文件直接写一句话木马 注入点三&#xff1a;获取数据库备份文件 [LitCTF 2023]1zjs [SWPUCTF 2022 新生赛]奇妙的MD5 …

欧科云链:Web3.0时代 具备链上数据分析能力的公司愈发凸显其价值

在当今激烈的市场竞争中&#xff0c;新兴互联网领域迅速崛起&#xff0c;Web2.0已相对成熟&#xff0c;用户创造数据&#xff0c;但不拥有数据。被视为新的价值互联网的Web3.0&#xff0c;赋予用户真正的数据自主权&#xff0c;它的到来被认为是打破Web2.0垄断的机遇。 在Web3…

寒冬来了,字节跳动开启裁员新模式。。

大家好&#xff0c;我是白露啊。 不得不说&#xff0c;字节跳动还是真的会搞事啊。 最近一段时间&#xff0c;字节搞出了一个裁员新模式&#xff1a;“细水长流”。这个寓意和“财&#xff08;裁&#xff09;源&#xff08;员&#xff09;广进”计划差不多了&#xff0c;只不…

YOLOv10:实时端到端目标检测

Ao Wang Hui Chen∗  Lihao Liu Kai Chen Zijia Lin  Jungong Han Guiguang Ding Tsinghua University Corresponding Author. 文献来源&#xff1a;中英文对照阅读 摘要 在过去的几年里&#xff0c;YOLO 因其在计算成本和检测性能之间的有效平衡而成为实时目标检测领…