Qt:Qt Creator项目创建

目录

认识Qt Creator

Qt Creator概览

使用Qt Creator新建项目

选择项目模板

选择项目路径

选择构建系统

填写类信息设置界面

选择语言和翻译文件

选择Qt套件

选择版本控制系统

最终效果


认识Qt Creator

Qt Creator概览

从开始菜单或者快捷方式打开Qt Creator集成开发环境,启动之后看到类似下面的界面:

①:菜单栏 菜单栏一共有八个菜单选项,包含了常用的功能菜单:

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

②:模式选择

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

④:欢迎模式下的窗口工作方式

Project用来新建工程、打开工程
示例Qt官方的一些示例
教程Qt官方教程

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

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

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

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

⑧:新建项目

⑨:打开已有项目


使用Qt Creator新建项目

打开Qt Creator,在菜单栏中选中"文件","新建文件或项目"或者使用快捷键Ctrl+n或者直接点击"new"。

在欢迎模式下,直接点击New,如下图所示:


选择项目模板

弹出如下对话框:

​​​新建项目对话框里有五类项目模板:

项目模板说明
ApplicationQt应用程序,包括普通窗体程序和Qt Quick程序
Library可以创建动态库、静态库以及Qt Quick扩展插件、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创建用户界面所需的⼀切,包括可视化、交互、动画、模型、视图、粒子效果以及着色效果等。

选择不同的项目模板, Qt Creator 就会在后续项目创建好了之后生成不同的基础代码


选择项目路径

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


选择构建系统

选择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其次。


填写类信息设置界面

对于基类的选择,目前有三种基类:

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

上述三个类之间的关系如下图:


选择语言和翻译文件

点击 "下⼀步" 进入如下界面:

此处选择的语言是 "汉语","英语"这样的语言,而不是 "编程语言"

由于暂时不考虑国际化问题, 直接下⼀步即可


选择Qt套件

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

Qt 套件是指 Qt 程序从编译链接到运⾏环境的全部工具和 Qt 类库的集合,对于 MinGW 版本 Qt 程序生成和调试,至少需要 MinGW 中的编译器 g++(自动调用链接器)、g++ 配套的基础库、调试器 gdb 还有使用 MinGW 环境编译而成的 Qt 类库自身。默认情况下,在上面Kit Selection里选中全部套件。


选择版本控制系统

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

若想把代码提交到码云或者github,可以在此处选择git作为版本控制系统。


最终效果

项⽬创建完成之后,Qt Creator 会直接进入代码编辑模式,可以看到类似下图界面:

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

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

相关文章

Vue笔记(六)

一、路由设计配置--一级路由配置 在路由文件&#xff08;一般是 router/index.js &#xff09;里定义路由对象数组&#xff0c;每个对象包含 path &#xff08;路由路径&#xff0c;如 / 代表首页&#xff09;、 name &#xff08;路由名称&#xff0c;方便代码引用&#xff09…

深度学习-神经机器翻译模型

以下为你介绍使用Python和深度学习框架Keras&#xff08;基于TensorFlow后端&#xff09;实现一个简单的神经机器翻译模型的详细步骤和代码示例&#xff0c;该示例主要处理英 - 法翻译任务。 1. 安装必要的库 首先&#xff0c;确保你已经安装了以下库&#xff1a; pip insta…

webpack【初体验】使用 webpack 打包一个程序

打包前 共 3 个文件 dist\index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Webpack 示例&…

Spring Boot接入Deep Seek的API

1&#xff0c;首先进入deepseek的官网&#xff1a;DeepSeek | 深度求索&#xff0c;单击右上角的API开放平台。 2&#xff0c;单击API keys&#xff0c;创建一个API&#xff0c;创建完成务必复制&#xff01;&#xff01;不然关掉之后会看不看api key&#xff01;&#xff01;&…

02.07 TCP服务器与客户端的搭建

一.思维导图 二.使用动态协议包实现服务器与客户端 1. 协议包的结构定义 首先&#xff0c;是协议包的结构定义。在两段代码中&#xff0c;pack_t结构体都被用来表示协议包&#xff1a; typedef struct Pack {int size; // 记录整个协议包的实际大小enum Type type; …

Java 读取 PDF 模板文档并替换内容重新生成 PDF

朋友们&#xff01;在实际开发里&#xff0c;经常会遇到需要根据 PDF 模板文档生成特定 PDF 的需求&#xff0c;比如合同、证书等。咱们可以借助 iText 库来实现读取 PDF 模板文档、替换指定内容&#xff0c;最后重新生成新 PDF 的功能。下面我就详细给大家讲讲具体怎么做。 1.…

动手写ORM框架 - GeeORM第一天 database/sql 基础

文章目录 1 初识 SQLite2 database/sql 标准库3 实现一个简单的 log 库4 核心结构 Session本文是7天用Go从零实现ORM框架GeeORM的第一篇。介绍了 SQLite 的基础操作(连接数据库,创建表、增删记录等)。使用 Go 语言标准库 database/sql 连接并操作 SQLite 数据库,并简单封装…

DeepSeek和ChatGPT的对比

最近DeepSeek大放异彩&#xff0c;两者之间有什么差异呢&#xff1f;根据了解到的信息&#xff0c;简单做了一个对比。 DeepSeek 和 ChatGPT 是两种不同的自然语言处理&#xff08;NLP&#xff09;模型架构&#xff0c;尽管它们都基于 Transformer 架构&#xff0c;但在设计目标…

如何在 Java 应用中实现数据库的主从复制(读写分离)?请简要描述架构和关键代码实现?

在Java应用中实现数据库主从复制&#xff08;读写分离&#xff09; 一、架构描述 &#xff08;一&#xff09;整体架构 主库&#xff08;Master&#xff09; 负责处理所有的写操作&#xff08;INSERT、UPDATE、DELETE等&#xff09;。它是数据的源头&#xff0c;所有的数据变…

笔灵ai写作技术浅析(六):智能改写与续写

笔灵AI写作中的智能改写和续写技术是其核心功能之一,旨在帮助用户生成高质量、多样化的文本内容。 一、智能改写技术 1. 基本原理 智能改写的目标是在保持原文语义不变的前提下,对文本进行重新表述,生成语法正确、语义连贯且风格多样的新文本。其核心思想是通过语义理解和…

Rust语言的计算机基础

Rust语言的计算机基础 引言 在当今计算机科学的广阔领域中&#xff0c;编程语言是技术发展的基础。不同的编程语言应运而生&#xff0c;各自具有不同的特性和应用场景。Rust语言作为一种新兴的系统编程语言&#xff0c;凭借其卓越的性能和安全性&#xff0c;逐渐受到开发者的…

3.如何标注数据集

软件安装&#xff1a; Labelme&#xff0c;打开链接之后跳转如下&#xff1a; 这里往下翻&#xff0c;如下&#xff1a; 选择上图圈起来的exe进行下载就可以了&#xff0c;下载完成之后就可以双击直接打开了。如果通过github下载很慢的话可以直接选择通过网盘分享的文件&…

【分布式理论7】分布式调用之:服务间的(RPC)远程调用

文章目录 一、RPC 调用过程二、RPC 动态代理&#xff1a;屏蔽远程通讯细节1. 动态代理示例2. 如何将动态代理应用于 RPC 三、RPC序列化与协议编码1. RPC 序列化2. RPC 协议编码2.1. 协议编码的作用2.2. RPC 协议消息组成 四、RPC 网络传输1. 网络传输流程2. 关键优化点 一、RPC…

SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现

SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现 目录 SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来&#xff08;优…

LVS + KeepAlived 配置HA集群的步骤

LVS KeepAlived 配置HA集群的步骤 &#xff08;一&#xff09;集群准备 准备vmvare linux虚拟主机4台&#xff0c;假设对外提供的VIP是192.168.174.110 主机IP备注LVS1192.168.174.101提供4层代理-主机LVS2192.168.174.102提供4层代理-备用Apache1192.168.174.201真实服务器…

智慧停车场解决方案(文末联系,领取整套资料,可做论文)

一、方案概述 本智慧停车场解决方案旨在通过硬件设备与软件系统的深度整合&#xff0c;实现停车场的智能化管理与服务&#xff0c;提升车主的停车体验&#xff0c;优化停车场运营效率。 二、硬件架构 硬件设备说明&#xff1a; 车牌识别摄像机&#xff1a;安装在停车场入口和…

DeepSeek开源多模态大模型Janus-Pro部署

DeepSeek多模态大模型部署 请自行根据电脑配置选择合适环境配置安装conda以及gitJanus 项目以及依赖安装运行cpu运行gpu运行 进入ui界面 请自行根据电脑配置选择合适 本人家用电脑为1060&#xff0c;因此部署的7B模型。配置高的可以考虑更大参数的模型。 环境配置 安装conda…

C#常用集合优缺点对比

先上结论&#xff1a; 在C#中&#xff0c;链表、一维数组、字典、List<T>和ArrayList是常见的数据集合类型&#xff0c;它们各有优缺点&#xff0c;适用于不同的场景。以下是它们的比较&#xff1a; 1. 一维数组 (T[]) 优点&#xff1a; 性能高&#xff1a;数组在内存中…

python-leetcode-删除有序数组中的重复项 II

80. 删除有序数组中的重复项 II - 力扣&#xff08;LeetCode&#xff09; class Solution:def removeDuplicates(self, nums: List[int]) -> int:if len(nums) < 2:return len(nums)j 2 # 允许最多两个相同的元素for i in range(2, len(nums)):if nums[i] ! nums[j - 2…

Render上后端部署Springboot + 前端Vue 问题及解决方案汇总

有一个 Vue 前端 和 Spring Boot 后端的动态网页游戏&#xff0c;当前在本地的 5173 端口和运行。你希望生成一个公开链接&#xff0c;让所有点击链接的人都能访问并玩这个游戏。由于游戏原本需要在本地执行 npm install 后才能启动&#xff0c;你现在想知道在部署时是选择 Ren…