Linux下在qtcreator中创建qt程序

目录

1、新建项目

2、单工程项目创建 

3、多工程项目创建

 4、添加子工程(基于多工程目录结构)

5、 .pro文件


1、新建项目

切换到“编辑”界面,点击菜单栏中的“文件”-“新建文件或项目”

2、单工程项目创建 

只有一个工程的项目,新建模板时就只用在“项目”-“Application”中选,最右边的一栏有该模板的解释说明。按照需求创建对应的应用程序,在此我们创建一个最常用的带UI的qt应用程序作为示范。

选择“Qt Widget Application”,点击“Choose”按钮,进行创建。设置项目名称与项目路径,如图所示。设置完成后,点击“下一步”。

 因为我们使用了集成安装包,QtCreator的环境都已经自动安装好了,不用配置Kit,可以直接点击下一步。如果在当前页面“下一步”按钮被禁用了,则代表需要配置Kit。详细配置可以看该章节第四点。

配置类信息,设置类名与编译文件等的名称,点击下一步。注:建议类名与头文件、源文件、ui文件的名称与大小写保持一致。如图所示。

项目建立完成。该界面可以查看即将生成的所有文件与路径。因为是单工程项目,不需要配置“作为子项目添加到项目中”;“添加到版本控制系统”,如果有需要可以选择。:.pro文件是qt的配置文件。

3、多工程项目创建

要创建一个多工程的项目,首先要建一个总的项目文件夹,作为根项目。

“文件”-“新建文件或项目”-“其他项目”-“子目录项目”-“Choose”。可以看到右边选中“子目录项目”后,右边的解释。

设置项目路径与总配置文件名称。

 点击下一步可以看到即将生成的目录,该目录只生成一个.pro,作为总配置文件。

 点击“完成&添加子项目”,对子项目进行添加,步骤与创建单项目目录步骤基本一致,唯一不同的是需要配置“汇总”-“作为子项目添加到项目中”,选择刚才创建的根项目,点击“完成”即可。

 创建成功后,目录结构如图所示。可以看到总项目目录“MulPrj”下存在一个子项目目录“Projrct_1”,“Project_1”下存在该项目的配置文件与.h/.cpp等文件。

第一个创建的工程应该为Application项目,可作为启动项。

点击运行程序显示窗口。

 4、添加子工程(基于多工程目录结构)

添加子工程有两个方法。

  • 点击多工程项目目录结构的根项目,右键-“新子项目”,进行子项目的添加。

  • 点击“文件”-“新建文件或项目”。

但是不论哪种方法,进入模板选择界面后,都需要选择“Library”-“C++库”。

进入子项目的创建。

 勾选需要使用到的模块,一般勾选图中框起来的三个。

仍然让项目名称与.h/.cpp文件名称保持一致。

“作为子项目添加到项目中”仍然选择根项目,然后点击“完成”。

 此时的目录结构如下:

文件夹下的目录结构如下:

5、 .pro文件

在多工程项目中存在多个.pro文件,大致可以分为三类:

  • 根项目.pro:例如MulPrj.pro,用来控制所有子项目。

在这里我们只关注“SUBDIRS”,是根项目的固定写法,用来声明工程目录集的,需要添加或删除工程都可以在这里进行,删除对应的工程名称保存后,qt自动删除树目录结构下的对应工程。

注释之后可以看到目录结构下的工程都不见了。

也可以指定到目录文件夹下的.pro,在.pro与工程文件家名称不相同时使用。

  •  启动项.pro:例如Project_1.pro,作为启动项,与子工程的配置有一些不同。
  • Lib子工程.pro:例如Project_2.pro,作为创建时以library作为模板创建的工程。
#-------------------------------------------------
#
#ProjectcreatedbyQtCreator2023-03-03T14:27:35
#
#-------------------------------------------------QT+=coregui#“QT”是使用的QT库,从向导创建中可以看出,默认包含gui与core。如果不使用则生成的为QT-=coregui。这里是“+=”代表两个都使用。greaterThan(QT_MAJOR_VERSION,4):QT+=widgetsTARGET=Project_1  #生成.so目标,名称不做修饰,不用添加.so,自动生成名称.so。如:TARGET = Project_change  ,生成的.so为“Project_change.so”
DESTDIR= ../Bin#指定.so的生成路径
TEMPLATE=app#固定写法 主工程为app,子工程为lib#Thefollowingdefinemakesyourcompileremitwarningsifyouuse
#anyfeatureofQtwhichhasbeenmarkedasdeprecated(theexactwarnings
#dependonyourcompiler).Pleaseconsultthedocumentationofthe
#deprecatedAPIinordertoknowhowtoportyourcodeawayfromit.
DEFINES+=QT_DEPRECATED_WARNINGS  #预定义头#YoucanalsomakeyourcodefailtocompileifyouusedeprecatedAPIs.
#Inordertodoso,uncommentthefollowingline.
#YoucanalsoselecttodisabledeprecatedAPIsonlyuptoacertainversionofQt.
#DEFINES+=QT_DISABLE_DEPRECATED_BEFORE=0x060000#disablesalltheAPIsdeprecatedbeforeQt6.0.0CONFIG+=c++11SOURCES+=\
main.cpp\
Project_1.cppHEADERS+=\
Project_1.hFORMS+=\
Project_1.ui#Defaultrulesfordeployment.
qnx:target.path=/tmp/$${TARGET}/bin
else:unix:!android:target.path=/opt/$${TARGET}/bin
!isEmpty(target.path):INSTALLS+=target

在pro中配置目标路径后,在“项目”-“概要”中取消勾选“shadow build”,让makefile默认生成在该项目.pro所在路径。

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

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

相关文章

Axure RP移动端高保真CRM办公客户管理系统原型模板及元件库

Axure RP移动端高保真CRM办公客户管理系统原型模板及元件库,一套典型的移动端办公工具型APP Axure RP原型模板,可根据实际的产品需求进行扩展,也可以作为移动端原型设计的参考案例。为提升本作品参考价值,在模板设计过程中尽量追求…

chatGPT应用于房地产行业

作为 2023 年的房地产专业人士,您无疑认识到技术对行业的重大影响。近年来,一项技术进步席卷了世界——人工智能。人工智能彻底改变了房地产业务的各个方面,从简化管理任务到增强客户互动。 在本文中,我们将探讨几种巧妙的人工智…

HTML 语言简介

1.概述 HTML 是网页使用的语言,定义了网页的结构和内容。浏览器访问网站,其实就是从服务器下载 HTML 代码,然后渲染出网页。 HTML 的全名是“超文本标记语言”(HyperText Markup Language),上个世纪90年代…

zabbix自动注册服务器以及部署代理服务器

文章目录 Zabbix自动注册服务器及部署代理服务器一.zabbix自动注册1.什么是自动注册2.环境准备3.zabbix客户端配置4.在 Web 页面配置自动注册5.验证自动注册 二.部署 zabbix 代理服务器1.分布式监控的作用:2.环境部署3.代理服务器配置4.客户端配置5.web页面配置5.1 …

MS9940T 国产 模拟前端AFE芯片 11-15 节锂电池或磷酸盐电池管理芯片 替代BQ76940

产品简述 MS9940T 是模拟前端 (AFE) 芯片,支持11 到 15 组电池串联。通过 I 2 C ,主机控制器 可以使用 MS9940T 来实现电池组管理功能,例如监控(电池电压、电池组电流、电池组 温度)、保护(控制…

分类预测 | MATLAB实现GWO-BiLSTM-Attention多输入分类预测

分类预测 | MATLAB实现GWO-BiLSTM-Attention多输入分类预测 目录 分类预测 | MATLAB实现GWO-BiLSTM-Attention多输入分类预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.GWO-BiLSTM-Attention 数据分类预测程序 2.代码说明:基于灰狼优化算法&#xff08…

vuejs 设计与实现 - 组件的实现原理

1.渲染组件 如果是组件则:vnode .type的值是一个对象。如下: const vnode {type: MyComponent,}为了让渲染器能处理组件类型的虚拟节点,我们还需要在patch函数中对组件类型的虚拟节点进行处理,如下: function patc…

CentOS7.9 禁用22端口,使用其他端口替代

文章目录 业务场景操作步骤修改sshd配置文件修改SELinux开放给ssh使用的端口修改防火墙,开放新端口重启sshd生效 相关知识点介绍sshd服务SELinux服务firewall.service服务 业务场景 我们在某市实施交通信控平台项目,我们申请了一台服务器,用…

学习Vue:列表渲染(v-for)

在 Vue.js 中,实现动态列表的显示是非常常见的需求。为了达到这个目的,Vue 提供了 v-for 指令,它允许您迭代一个数组或对象,将其元素渲染为列表。然而,在使用 v-for 时,key 属性的设置也非常重要&#xff0…

微信小程序(原生)搜索功能实现

一、效果图 二、代码 wxml <van-searchvalue"{{ keyword }}"shape"round"background"#000"placeholder"请输入关键词"use-action-slotbind:change"onChange"bind:search"onSearch"bind:clear"onClear&q…

实践-CNN卷积层

实践-CNN卷积层 1 卷积层构造2 整体流程3 BatchNormalization效果4 参数对比5 测试效果 1 卷积层构造 2 整体流程 根据网络结构来写就可以了。 池化 拉平 训练一个网络需要2-3天的时间。用经典网络来&#xff0c;一些细节没有必要去扣。 损失函数&#xff1a; fit模型&…

运维监控学习笔记1

1、监控对象&#xff1a; 1、监控对象的理解&#xff1b;CPU是怎么工作的&#xff1b; 2、监控对象的指标&#xff1a;CPU使用率&#xff1b;上下文切换&#xff1b; 3、确定性能基准线&#xff1a;CPU负载多少才算高&#xff1b; 2、监控范围&#xff1a; 1、硬件监控&#x…

线性扫描寄存器分配算法介绍

线性扫描寄存器分配 文章目录 线性扫描寄存器分配1. 算法介绍2. 相关概念3. 算法的实现3.1 伪代码3.2 图示 参考文献 论文地址&#xff1a; Linear Scan Register Allocation ​ 我们描述了一种称为线性扫描的快速全局寄存器分配的新算法。该算法不基于图形着色&#xff0c;而…

echarts3d柱状图

//画立方体三个面 const CubeLeft echarts.graphic.extendShape({shape: {x: 0,y: 0,width: 9.5, //柱状图宽zWidth: 4, //阴影折角宽zHeight: 3, //阴影折角高},buildPath: function (ctx, shape) {const api shape.api;const xAxisPoint api.coord([shape.xValue, 0]);con…

陪诊小程序开发|陪诊陪护小程序让看病不再难

陪诊小程序通过与医疗机构的合作&#xff0c;整合了医疗资源&#xff0c;让用户能够更加方便地获得专业医疗服务。用户不再需要面对繁琐的挂号排队&#xff0c;只需通过小程序预约服务&#xff0c;便能够享受到合适的医疗资源。这使得用户的就医过程变得简单高效&#xff0c;并…

Redis使用规范及优化

缓存设计 缓存方案 普通缓存 查询数据时&#xff0c;先查找缓存&#xff0c;如果有延长缓存时间并返回。如果没有&#xff0c;再去查找数据库&#xff0c;将查询的数据再写到缓存&#xff0c;同时设置过期时间。如果是静态热点数据&#xff0c;可以不设置缓存失效时间。 冷…

IntelliJ最佳插件

基于 IntelliJ 平台的 JetBrains IDE 可能是当今最常见的 IDE 之一。它们的受欢迎程度在 JVM 语言社区中尤其明显&#xff0c;IntelliJ IDEA 仍然是大多数开发人员的首选 IDE。所有这一切都是在一些新竞争对手的出现和老竞争对手克服以前的缺点并重新加入竞争者的情况下实现的。…

【EI/SCOPUS检索】第三届计算机视觉、应用与算法国际学术会议(CVAA 2023)

第三届计算机视觉、应用与算法国际学术会议&#xff08;CVAA 2023) The 3rd International Conference on Computer Vision, Application and Algorithm 2023年第三届计算机视觉、应用与算法国际学术会议&#xff08;CVAA 2023&#xff09;主要围绕计算机视觉、计算机应用、计…

PPT颜色又丑又乱怎么办?

一、设计一套PPT时&#xff0c;可以从这5个方面进行设计 二、PPT颜色 &#xff08;一&#xff09;、PPT常用颜色分类 一个ppt需要主色、辅助色、字体色、背景色即可。 &#xff08;二&#xff09;、搭建PPT色彩系统 设计ppt时&#xff0c;根据如下几个步骤&#xff0c;依次选…

Arduino驱动红外二氧化碳传感器(气体传感器篇)

目录 1、传感器特性 2、驱动程序 红外激光传感器是将成熟的红外吸收气体检测技术与精密光路设计、精良电路设计紧密结合而制作出的高性能传感器,具有高灵敏度、高分辨率、低功耗,响应快、抗水汽干扰、不中毒、稳定性高、使用寿命长等特点。本篇博文使用Arduino驱动红外二氧…