首页 > 其他分享 >《新建篇》创建Qt项目

《新建篇》创建Qt项目

时间:2023-08-15 15:23:18浏览次数:34  
标签:文件 Qt 新建 创建 makefile 应用程序 添加 QT

创建Qt项目

参考链接:https://blog.csdn.net/weixin_44064908/article/details/131155691

法一根据模板创建

打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项
image

弹出New Project对话框,选择Qt Widgets Application
image

选择【Choose】按钮,弹出如下对话框
image

设置项目名称和路径,按照向导进行下一步
image

image

向导会默认添加一个继承自CMainWindow的类,可以在此修改类的名字和基类。默认的基类有QMainWindow、QWidget以及QDialog三个,我们可以选择QWidget(类似于空窗口),这里我们可以先创建一个不带UI的界面,继续下一步
image

系统会默认给我们添加main.cpp、mywidget.cpp、 mywidget.h和一个.pro项目文件,点击完成,即可创建出一个Qt桌面程序。

法二手动创建

添加一个空项目
image

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

image

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

.Pro文件

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

QT       += core gui  //包含的模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于Qt4版本 才包含widget模块
TARGET = QtFirst  //应用程序名  生成的.exe程序名称
TEMPLATE = app    //模板类型    应用程序模板
SOURCES += main.cpp\   //源文件
		mywidget.cpp
HEADERS  += mywidget.h   //头文件

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

  • 注释: 从“#”开始,到这一行结束。

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

  • 指定生成的应用程序名:
    TARGET = QtDemo

  • 工程中包含的头文件:
    HEADERS += include/painter.h

  • 工程中包含的.ui设计文件:
    FORMS += forms/painter.ui

  • 工程中包含的源文件:
    SOURCES += sources/main.cpp sources

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

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

  • 配置信息:CONFIG用来告诉qmake关于应用程序的配置信息。CONFIG += c++11 //使用c++11的特性,在这里使用“+=”,是因为我们添加我们的配置选项到任何一个已经存在中。这样做比使用“=”那样替换已经指定的所有选项更安全。

简单QT应用程序

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	Widget w;
	w.show();

	return a.exec();
}

解释:

  • Qt系统提供的标准类名声明头文件没有.h后缀

  • Qt一个类对应一个头文件,类名就是头文件名

  • QApplication应用程序类
    管理图形用户界面应用程序的控制流和主要设置。
    是Qt的整个后台管理的命脉它包含主事件循环,在其中来自窗口系统和其它资源的所有事件处理和调度。它也处理应用程序的初始化和结束,并且提供对话管理。
    对于任何一个使用Qt的图形用户界面应用程序,都正好存在一个QApplication 对象,而不论这个应用程序在同一时间内是不是有0、1、2或更多个窗口。

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

QT编译报错:Cannot find file:问题解决

参考链接:https://blog.csdn.net/xt18971492243/article/details/101451548

报错原因:创建路径存在中文字符,将其改为英文字符即可

标签:文件,Qt,新建,创建,makefile,应用程序,添加,QT
From: https://www.cnblogs.com/fusio/p/17631375.html

相关文章

  • 创建表空间及数据库用户
    select*fromdba_data_files;---查看用来导数据库的数据库数据文件路径信息----创建顺德一体化项目的数据库的对应的表空间。该数据库文件最少需要2个createtablespacesync_plus_1datafile'/u01/app/oracle/oradata/orcl/sync_plus_1_01.dbf'size500Mautoex......
  • 我的BIOS之行7-protocol的使用与创建
    protocol简介从语言上来看,protocol包含了属性和函数指针的结构体,从功能上看,protocoll是提供者与使用者对服务方式的一种约定。其实我们不难看出UEFI中的Protocol引入了面向对象的思想。每一个protocol都必须要有一个唯一的GUID。如我的github上面的code一样,在github上我每章都有......
  • 《安装篇》下载QT和安装
    Qt下载(多种下载通道+所有版本)参考链接:http://c.biancheng.net/view/3851.html作为Qt下载教程,本文会同时讲解以上三种下载方式。Qt官方下载(非常慢)Qt官网有一个专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,具体地址是:http://download.qt.io/官网图片:对目......
  • 《简介篇》QT是什么
    参考链接:https://blog.csdn.net/m0_65682542/article/details/126731164QT是什么Qt:一个跨平台的C++开发库,主要用来开发图形用户界面程序。名字含义名字含义:字母Q作为所有类的前缀,是因为Haarard写这个字母看起来特别的漂亮,字母t代表"toolkit",在Xt,Xtoolkit等中得到灵感。......
  • ABP .NET创建项目(三)
    ABP.NET创建项目(三)(进阶部分)在ABP.NET创建项目(二)(进阶部分)的基础上增加代码增加缓存方法。好处:比如在多次重复的数据库查询操作中,结果相同,但利用缓存可以使得第一次同普通查询一样查询,而后续的重复操作查询可以直接用(return)缓存中存储的查询结果而非再次进行数据库查询操......
  • “未能创建此平台,因为已存在同名的解决方案平台”
    1.解释:使用2010新建了一个工程,后来加入了另外一个64位工程,联合编译的时候发现主工程的平台是win32的。但是怎么都修改不成64的,未能创建此平台,因为已存在同名的解决方案平台。 于是移除掉新的工程;发现配置管理器中存在win64和win32,由于已经存在了win64,所以不能创建了。需要修......
  • git 仓库创建并导入项目
    1.初始化项目gitinit本地出现.git文件2、本地项目的文件gitadd.   添加所有的文件gitadd--all 添加所有的文件3、gitstatus显示工作目录和暂存区的状态4、gitcommit提交到版本库gitcommit-m"此处写提交备注"gitpushoriginmaster......
  • Android22.3.1创建项目
    一、创建传统Java语言项目重点:EmptyActivity不能选择java.步骤一:步骤二:二、GradleBuild速度慢修改pluginManagement{repositories{google()mavenCentral()gradlePluginPortal()}}dependencyResolutionManagement{reposito......
  • java opencv创建 空图片
    javaopencv创建空图片  packageml;importorg.opencv.core.Core;importorg.opencv.core.CvType;importorg.opencv.core.Mat;importorg.opencv.core.Scalar;importorg.opencv.highgui.HighGui;publicclassTest2{publicstaticvoidmain(String[......
  • QT画图
    重点:每个QWidget都自带的功能,继承了QPainteDevice都可以使用QPainter来进行绘图。我们需要调用paintEvent绘制事件,这个事件QWidget这个类自带的事件。重写这个事件:如果父类有某个办法,此时这个子类需要有一个更跟父类同样方法名称的。实例化对象写法:QQPainterpainter(this);//......