一.安装Qt及Qt Creator

1.Qt下载地址

常用的工具也在这些地方可以找到,当然也可以直接官网下载,考入到网速因素,国内的镜像源网站还是要更快一些。Qt 5.15 之后已经不提供离线安装包了,所以高版本要在线安装.

阿里云:qt安装包下载_开源镜像站-阿里云 (aliyun.com)https://mirrors.aliyun.com/qt/?spm=a2c6h.13651104.0.0.1ae84773XLvTjw

中科大Index of /qtproject/ (ustc.edu.cn)http://mirrors.ustc.edu.cn/qtproject/

清华源Index of /qt/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://mirrors.tuna.tsinghua.edu.cn/qt/

2.Qt Creator下载地址

高版本Qt已经在安装Qt时可以勾选安装Qt Creator,无需额外下载安装。

Index of /qt/official_releases/qtcreator/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/qtcreator/

3.安装注意事项

编译器的选择,对应的MinGW或者VS的MSVC编译器。具体步骤搜索:

qt安装- CSDN搜索https://so.csdn.net/so/search?spm=1000.2115.3001.4498&q=qt%E5%AE%89%E8%A3%85&t=&u=

二.创建第一个Qt程序

1.新建选项可以选择一个通常使用的Qt Widgets Application

2.给项目命名,编译工具选择qmake

 3.这里需要注意,Base class中可以选择三种,可以参考三者的区别:

QWidget

是QMainWindow和QDialog的父类
QMainWindow 包含菜单栏、工具栏、状态栏、标题栏等
QDialog 对话框窗口的基类,QDialog 没有菜单栏、工具栏、状态栏等

如果是主窗口,就使用 QMainWindow;如果是对话框,就是用 QDialog;如果不确定,或有可能作为顶级窗口,也有可能嵌入到其他窗口中,那么使用 QWidget。

最下面Generate form可以添加一个拖拽式的ui界面,也可以不选,使用纯代码开发。

 4.选择编译器,选择版本控制,一般不需要选,即使用的话一般也使用git的客户端等。

我们选择创建一个没有ui界面的QWidget程序,创建后代码架构为下图,左侧导航栏中包括了

  • project.pro文件:配置文件
  • widget.h和widget.cpp文件:Widget对象文件
  • main.cpp文件:主函数入口

三.初始程序解析

.pro工程文件:自动生成,对于第一个程序来说不需要修改,详细的pro文件及内部的配置含义见

QT  += core gui  //Qt包含的模块greaterThan(QT_MAJOR_VERSION, 4): QT += widgets  //大于Qt4版本以上包含的模块CONFIG += c++11TARGET=Project  //生成的exe名称SOURCES += \   //源文件main.cpp \widget.cppHEADERS += \  //头文件widget.h

main.cpp

#include "widget.h"
#include <QApplication>
//main程序入口,argc命令行变量数量,argv命令行变量的数组,变量指的是接受鼠标键盘等动作
int main(int argc, char *argv[])
{//a应用程序对象,在Qt中,应用程序对象有且仅有一个QApplication a(argc, argv);//窗口对象 Widget的父类->QWidgetWidget w;//窗口对象调用show方法才能显示w.show();//让应用程序对象进入消息循环机制,代码堵塞到当前行,只有点击❌时才能退出return a.exec();
}

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>class Widget : public QWidget
{Q_OBJECT  //宏,允许类中使用信号与槽的机制public:Widget(QWidget *parent = nullptr); //构造函数默认参数~Widget(); //析构函数
};
#endif // WIDGET_H

widget.cpp

#include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) //初始化列表
{
}Widget::~Widget()
{
}

四.常用Qt Creator快捷键

ctrl+/ 注释
ctrl+r 运行
ctrl+b 编译
ctrl+i 自动对齐
F4 同名cpp和h文件切换

Qt入门01 创建第一个Qt程序相关推荐

  1. Mybatis入门学习---创建第一个Mybatis程序

    在这里我先给出项目的目录结构: 1.创建数据 在MySQL里面创建一个test数据库,里面有student表,数据如下: 2.创建maven项目并导入相关依赖 maven依赖如下: #pom.xml ...

  2. eclipse怎么创建web项目html,eclipse入门之创建第一个web程序(jsp测试环境)

    1.首先我们打开eclipse 2.下面我们去eclipse配置tomcat a) 菜单栏选择window--preferences b) 在向导视图中找到Server c) 在Server点击箭头, ...

  3. 04 创建第一个Qt程序

    最新QT从入门到实战完整版 一.04 创建第一个Qt程序 来自 一.04 创建第一个Qt程序 好,那么刚才我们看到了Qt create的一单一些简单介绍之后呢,我们不可能只是对它进行一个简单的简介就完 ...

  4. webGL入门(1)创建第一个webGL程序

    webGL入门(1)创建第一个webGL程序 createScense.html文件 <!DOCTYPE html> <html><head><meta ch ...

  5. (转)WCF教程系列(1)-创建第一个WCF程序

    作为微软技术.net 3.5的三大核心技术之一的WCF虽然没有WPF美丽的外观 但是它却是我们开发分布式程序的利器 但是目前关于WCF方面的资料相当稀少 希望我的这一系列文章可以帮助大家尽快入门 下面 ...

  6. 第一个程序(python)-helloworld_创建第一个python程序:‘Hello World!’

    安装好python解释器就可以创建第一个仪式程序Helloworld了 1.Python程序的3种运行方式 1.1.Python解释器直接运行 在Windows或者Linux命令行输入python,进 ...

  7. 问题一:CodeBlocks环境搭建及创建第一个C++程序

    某业界大牛推荐最佳的途径是从raytracing入门,所以本屌开始学习<Ray Tracing In One Weekend>. 该书是基于C++的.本屌从未学过C++.感觉告诉我,要先搭 ...

  8. (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序

    (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序 原文:(1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序 版权声明:本作品采用知识共享署名-非商 ...

  9. (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序

    每次使用 Visual Studio 的模板创建一个 UWP 程序,我们会在项目中发现大量的项目文件.配置.应用启动流程代码和界面代码.然而这些文件在 UWP 程序中到底是如何工作起来的? 我从零开始 ...

最新文章

  1. websphere部署项目报Result Maps collection already contains value for XXX
  2. BPM与Portal SSO实施方案v2
  3. spring 事务说明
  4. 大前端完整学习路线(完整版),路线完整版
  5. 《大学数学遐想》系列之函数与数列
  6. 从C语言到C++的进阶之一些C基础上的增强用法(篇五)
  7. Phenotips 项目源码分析 [0]
  8. python 知乎 合并 pdf_32.使用selenium爬取知乎,并实现多页保存为一个PDF文件
  9. 洛天依-元宵吃货节歌词
  10. 干货分享:免费文字转语音工具哪个比较好?
  11. 世界杯的狂欢也是黑灰产的狂欢?
  12. html怎么转换成xmind,怎么把html导入XMind
  13. Android Studio build失败情况解决方案
  14. 12分钟入门python基础-计算机视觉方向
  15. H5如何实现图文一行分布且图片在左侧而文字在右侧
  16. 单片机c语言sfr,51单片机bit、sbin、sfr、sfr_16区别分析
  17. 加码跨境物流 iPayLinks艾贝盈与乐鱼跨境达成合作
  18. 新手请看:三菱PLC学习方法分享
  19. 嵌入式linux摄像头视频教程,嵌入式Linux下LCD应用编程: 读取摄像头画面完成本地视频监控画面显示...
  20. 净水器市场,300亿体量就到头了?

热门文章

  1. MVC、MVP、MVVM:谁才是Android开发的终极之选?
  2. 如何看待小米发布的Redmi Note9系列手机?1299元起是否值得?
  3. [大话设计模式C++版] 第17章 在NBA我需要翻译 —— 适配器模式
  4. 基于python的个人博客系统的设计开题报告_基于SSM的个人博客系统设计开题报告...
  5. 挑战程序设计竞赛——详解DFS及BFS
  6. 淘宝被列入黑名单,确有其事还是另有原因
  7. 关于RPC框架封装时ThreadPool的选型和设计
  8. 微信h5缓存清理技巧
  9. NodeJS - 第一个应用程序Hello World
  10. 微信小程序学习3(wxss)