Qt入门01 创建第一个Qt程序
一.安装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程序相关推荐
- Mybatis入门学习---创建第一个Mybatis程序
在这里我先给出项目的目录结构: 1.创建数据 在MySQL里面创建一个test数据库,里面有student表,数据如下: 2.创建maven项目并导入相关依赖 maven依赖如下: #pom.xml ...
- eclipse怎么创建web项目html,eclipse入门之创建第一个web程序(jsp测试环境)
1.首先我们打开eclipse 2.下面我们去eclipse配置tomcat a) 菜单栏选择window--preferences b) 在向导视图中找到Server c) 在Server点击箭头, ...
- 04 创建第一个Qt程序
最新QT从入门到实战完整版 一.04 创建第一个Qt程序 来自 一.04 创建第一个Qt程序 好,那么刚才我们看到了Qt create的一单一些简单介绍之后呢,我们不可能只是对它进行一个简单的简介就完 ...
- webGL入门(1)创建第一个webGL程序
webGL入门(1)创建第一个webGL程序 createScense.html文件 <!DOCTYPE html> <html><head><meta ch ...
- (转)WCF教程系列(1)-创建第一个WCF程序
作为微软技术.net 3.5的三大核心技术之一的WCF虽然没有WPF美丽的外观 但是它却是我们开发分布式程序的利器 但是目前关于WCF方面的资料相当稀少 希望我的这一系列文章可以帮助大家尽快入门 下面 ...
- 第一个程序(python)-helloworld_创建第一个python程序:‘Hello World!’
安装好python解释器就可以创建第一个仪式程序Helloworld了 1.Python程序的3种运行方式 1.1.Python解释器直接运行 在Windows或者Linux命令行输入python,进 ...
- 问题一:CodeBlocks环境搭建及创建第一个C++程序
某业界大牛推荐最佳的途径是从raytracing入门,所以本屌开始学习<Ray Tracing In One Weekend>. 该书是基于C++的.本屌从未学过C++.感觉告诉我,要先搭 ...
- (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
(1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序 原文:(1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序 版权声明:本作品采用知识共享署名-非商 ...
- (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
每次使用 Visual Studio 的模板创建一个 UWP 程序,我们会在项目中发现大量的项目文件.配置.应用启动流程代码和界面代码.然而这些文件在 UWP 程序中到底是如何工作起来的? 我从零开始 ...
最新文章
- websphere部署项目报Result Maps collection already contains value for XXX
- BPM与Portal SSO实施方案v2
- spring 事务说明
- 大前端完整学习路线(完整版),路线完整版
- 《大学数学遐想》系列之函数与数列
- 从C语言到C++的进阶之一些C基础上的增强用法(篇五)
- Phenotips 项目源码分析 [0]
- python 知乎 合并 pdf_32.使用selenium爬取知乎,并实现多页保存为一个PDF文件
- 洛天依-元宵吃货节歌词
- 干货分享:免费文字转语音工具哪个比较好?
- 世界杯的狂欢也是黑灰产的狂欢?
- html怎么转换成xmind,怎么把html导入XMind
- Android Studio build失败情况解决方案
- 12分钟入门python基础-计算机视觉方向
- H5如何实现图文一行分布且图片在左侧而文字在右侧
- 单片机c语言sfr,51单片机bit、sbin、sfr、sfr_16区别分析
- 加码跨境物流 iPayLinks艾贝盈与乐鱼跨境达成合作
- 新手请看:三菱PLC学习方法分享
- 嵌入式linux摄像头视频教程,嵌入式Linux下LCD应用编程: 读取摄像头画面完成本地视频监控画面显示...
- 净水器市场,300亿体量就到头了?
热门文章
- MVC、MVP、MVVM:谁才是Android开发的终极之选?
- 如何看待小米发布的Redmi Note9系列手机?1299元起是否值得?
- [大话设计模式C++版] 第17章 在NBA我需要翻译 —— 适配器模式
- 基于python的个人博客系统的设计开题报告_基于SSM的个人博客系统设计开题报告...
- 挑战程序设计竞赛——详解DFS及BFS
- 淘宝被列入黑名单,确有其事还是另有原因
- 关于RPC框架封装时ThreadPool的选型和设计
- 微信h5缓存清理技巧
- NodeJS - 第一个应用程序Hello World
- 微信小程序学习3(wxss)