创建QT项目

news2024/11/26 8:30:56

目录

使用向导创建

新建项目

设置项目名称和创建项目路径 

​编辑 选择编译套件

修改类的名字和基类

​编辑完成

​编辑

 手动创建

 .pro文件

注释

TEMPLATE

TARGET

HEADERS

FORMS

SOURCES

RESOURCES

配置信息

简单QT应用程序的示例


使用向导创建

新建项目

设置项目名称和创建项目路径 

 选择编译套件

修改类的名字和基类

向导会默认添加一个继承自CMainWindow的类,可以在此修改类的名字和基类。 

完成

 手动创建

 添加一个空项目

选择【choose】进行下一步。设置项目名称和路径 —> 选择编译套件 --> 修改类信息 --> 完成(步骤同上),生成一个空项目。在空项目中添加文件:在项目名称上单击鼠标右键弹出右键菜单,选择【添加新文件】

 在此对话框中选择要添加的类或者文件,根据向导完成文件的添加。

 .pro文件

使用Qt向导生成的应用程序.pro文件格式如下:

	QT       += core gui	//模块的名字
	greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

	TARGET = test	//应用程序名
	TEMPLATE = app	//生成的makefile的模板类型
	//源文件
	SOURCES += main.cpp\
       		 mainwindow.cpp

	//头文件
	HEADERS  += mainwindow.h

	//窗口设计文件
    FORMS    += mainwindow.ui

.pro就是工程文件(project),它是qmake自动生成的用于生产makefile的配置文件。.pro文件的写法如下:

  • 注释

  • 从“#”开始,到这一行结束。
  • TEMPLATE

模板变量告诉qmake为这个应用程序生成哪种makefile。

下面是可供使用的选择:TEMPLATE = app

  • app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。
  • lib - 建立一个库的makefile。
  • vcapp - 建立一个应用程序的VisualStudio项目文件。
  • vclib - 建立一个库的VisualStudio项目文件。
  • subdirs -这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。

TARGET

指定生成的应用程序名:

  1. TARGET = QtDemo
  2. HEADERS

  3. 工程中包含的头文件
  4. HEADERS += include/painter.h
  5. FORMS

  6. 工程中包含的.ui设计文件
  7. FORMS += forms/painter.ui
  8. SOURCES

  9. 工程中包含的源文件
  10. SOURCES += sources/main.cpp sources/painter.cpp
  11. RESOURCES

  12. 工程中包含的资源文件
  13. RESOURCES += qrc/painter.qrc

  14. greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
  15. 这条语句的含义是,如果QT_MAJOR_VERSION大于4(也就是当前使用的Qt5更高版本)需要增加widgets模块。如果项目仅需支持Qt5也可以直接添加“QT += widgets”一句。不过为了保持代码兼容,最好还是按照QtCreator生成的语句编写。

  16. 配置信息

  17. CONFIG用来告诉qmake关于应用程序的配置信息。

  18. CONFIG += c++11 //使用c++11的特性

    在这里使用“+=”,是因为我们添加我们的配置选项到任何一个已经存在中。这样做比使用“=”那样替换已经指定的所有选项更安全。

  19. 简单QT应用程序的示例

  20. 	#include <QApplication>
    	#include <QWidget>
    
    	int main(int argc, char *argv[])
    	{
      	  	QApplication a(argc, argv);
      	  	QWidget w;
      	  	w.show();
    
      	  	return a.exec();
    }

  • Qt头文件没有.h后缀
  • Qt一个类对应一个头文件,类名就是头文件名
  • QApplication应用程序类

管理图形用户界面应用程序的控制流和主要设置。

是Qt的整个后台管理的命脉它包含主事件循环,在其中来自窗口系统和其它资源的所有事件处理和调度。它也处理应用程序的初始化和结束,并且提供对话管理

对于任何一个使用Qt的图形用户界面应用程序,都正好存在一个QApplication 对象,而不论这个应用程序在同一时间内是不是有0、1、2或更多个窗口。

  • a.exec()

程序进入消息循环,等待对用户输入进行响应。这里main()把控制权转交给Qt,Qt完成事件处理工作,当应用程序退出的时候exec()的值就会返回。在exec()中,Qt接受并处理用户和系统的事件并且把它们传递给适当的窗口部件。

 

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

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

相关文章

数据仓库ELT流程是啥?8大好用的ELT工具我找来了,赶紧收藏!

一、数据抽取 数据源是指存储数据的源头&#xff0c;包括结构化数据、半结构化数据、非结构化数据等。 结构化数据&#xff1a;可以采用直连数据库的方式进行抽取&#xff0c;一般采用JDBC&#xff08;Java Database Connectivity&#xff09;。这种方式的优点是数据抽取效率高…

设计模式第十三讲:编写可读代码的艺术

设计模式第十三讲&#xff1a;编写可读代码的艺术 编写可读代码是极为重要的&#xff0c;编程有很大一部分时间是在阅读代码&#xff0c;不仅要阅读自己的代码&#xff0c;而且要阅读别人的代码。因此&#xff0c;可读性良好的代码能够大大提高编程效率。可读性良好的代码往往会…

老网工的爱情故事二:从VPN到SD-WAN,爱情与技术的升华

— 前言 — 为什么爱情不能像设置VLAN一样 把不同的“IP”的人绑在一起&#xff1f; 为什么周围的事物 不能像创建ACL那样随心所欲的控制&#xff1f; 为什么相爱的人远在天涯 不能像做VPN一样拉到近在咫尺&#xff1f; 为什么你我之间没有一个边界路由呢&#xff1f; 我已经给…

02深入探究:OA项目会议发布、左侧菜单和动态选项卡的完美合盘

目录 1.左侧导航 导航一般指页面引导性频道集合&#xff0c;多以菜单的形式呈现&#xff0c;可应用于头部和侧边&#xff0c;是整个网页画龙点晴般的存在。 面包屑结构简单&#xff0c;支持自定义分隔符。 注&#xff1a;千万不要忘了加载 element模块。虽然大部分行为都是…

Redis之集群模式

一、Redis集群 一个节点就是一个运行在集群模式下的Redis服务器&#xff0c;Redis服务器在启动时会根据cluster-enabled配置选项是否为yes来决定是否开启服务器的集群模式。 Redis节点不会互相发现&#xff0c;连接各个节点的工作需要使用cluster meet命令来完成 CLUSTER MEE…

Nginx-报错no live upstreams while connecting to upstream

1、问题描述 生产环境Nginx间歇性502的事故分析过程 客户端请求后端服务时一直报错 502 bad gateway&#xff0c;查看后端的服务是正常启动的。后来又查看Nginx的错误日志&#xff0c;发现请求后端接口时Nginx报错no live upstreams while connecting to upstream&#xff0c…

快速收集form表单元素的值-----serialize函数

form-serialize–github 下载下来之后在页面引用 <form id"form"><input type"text" name"username" value"123"><input type"text" name"password"></form><script src"./seria…

新SDK平台下载开源全志V853的SDK

获取SDK SDK 使用 Repo 工具管理&#xff0c;拉取 SDK 需要配置安装 Repo 工具。 Repo is a tool built on top of Git. Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow. Repo is…

实力认可 | 开源网安入选中国信通院“业务安全推进计划”成员单位

8月25日&#xff0c;由中国信息通信研究院&#xff08;以下简称“中国信通院”&#xff09;与中国通信标准化协会联合主办的“2023首届SecGo云和软件安全大会”在京召开。开源网安凭借在软件供应链安全领域多年积累的技术实力与口碑&#xff0c;成功入选中国信通院“业务安全推…

【allegro 17.4软件操作保姆级教程十二】插件器件封装制作

&#x1f449;个人主页&#xff1a; highman110 &#x1f449;作者简介&#xff1a;一名硬件工程师&#xff0c;持续学习&#xff0c;不断记录&#xff0c;保持思考&#xff0c;输出干货内容 目录 制作插件焊盘 放置pin脚 绘制丝印线和装配线 放置位号和value 放置1脚标识…

wps会员可以退款吗

刚刚购买了wps会员&#xff0c;后来发现学校已经为学生开通了wps会员&#xff0c;因此想退掉自己买的。 网上大多数的说辞是可以退掉&#xff0c;但是其实是不能退的。 网上怎么可以一本正经胡说八道呢&#xff1f; &#xff08;以后购买之前要看清了&#xff0c;要不然吃亏了&…

Android studio打包生成jar包文件

将应用模块application转换成库模块library后生成jar包 1、首先打开build.gradle文件&#xff0c;注意这里是module目录下的&#xff0c;在这个文件我们需要做两个操作&#xff1a; 将com.android.application改成com.android.library注释掉applicationId 2、打开清单文件And…

扬杰科技携手企企通,召开SRM采购供应链协同系统项目启动会

近日&#xff0c;中国功率半导体领先企业扬州扬杰电子科技股份有限公司&#xff08;以下简称“扬杰科技”&#xff09;与企企通召开SRM采购供应链协同系统项目启动会&#xff0c;双方项目团队成员一同出席本次会议。 会上&#xff0c;双方就扬杰科技采购供应链管理平台项目的目…

双基证券:港股内房股“仙股”扎堆!

受职业继续低迷及部分房企本身因素影响&#xff0c;多家内房股已跌成“仙股”。 8月25日&#xff0c;世茂集团发布2023年中报成绩&#xff0c;上半年归属于股东净利润亏本51亿元&#xff0c;受此影响&#xff0c;公司股价继续下跌&#xff0c;到收盘报0.59港元/股&#xff0c;总…

服务体验:为什么海底捞会推出免费“洗头”的服务?

Guofu 第 106⭐️ 篇原创文章分享 先来了解一下背景。 近日&#xff0c;中国无锡的海底捞餐厅引发网民热议&#xff0c;因其提供了令人意外的洗头服务。这一举措引发了消费者的好奇和兴趣&#xff0c;网友纷纷表示希望这种创新能够在全国范围内推广。 根据店内的提示牌显示&…

设计模式备忘录+命令模式实现Word撤销恢复操作

文章目录 前言思路代码实现uml类图总结 前言 最近学习设计模式行为型的模式&#xff0c;学到了备忘录模式提到这个模式可以记录一个对象的状态属性值&#xff0c;用于下次复用&#xff0c;于是便想到了我们在Windows系统上使用的撤销操作&#xff0c;于是便想着使用这个模式进…

【注册岩土】Python土力学与基础工程计算.PDF-土中的应力

Python 求解代码如下&#xff1a; 1&#xff0e;&#xff03;计算竖向有效自重应力2.h12#m3.h21.5#m4.h31#m5.gamma1 19# kN/m^36.gamma218# kN/m^37.gamma317# kN/m^38.sigma_c gammal * h1 gamma2*h2 gamma3 *h39&#xff0e;print&#xff08;&#xff02;竖向有效自重应力…

STL-空间配置器的了解

前言 空间配置器&#xff0c;顾名思义就是为了各个容器高效的管理空间&#xff08;空间的申请与回收&#xff09;的&#xff0c;在默默的工作的。虽然在常规上使用STL时&#xff0c;可能用不上它&#xff0c;但是站在学习研究的角度&#xff0c;学习它的实现原理对我们有很大的…

Python+Yolov8手势特征识别检测

程序示例精选 PythonYolov8手势特征识别检测 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<PythonYolov8手势特征识别检测>>编写代码&#xff0c;代码整洁&#xff0c;规则&am…

Matlab论文插图绘制模板第109期—特征渲染的标签气泡散点图

在之前的文章中&#xff0c;分享了Matlab标签散点图的绘制模板&#xff1a; 特征渲染的标签散点图&#xff1a; 进一步&#xff0c;再来分享一下特征渲染的标签气泡散点图的绘制模板&#xff0c;从而可以再添加一个维度的信息。 先来看一下成品效果&#xff1a; 特别提示&…