【QT开发笔记-基础篇】| 第一章 QT入门 | 1.3 新建Qt工程

本节对应的视频讲解:B_站_链_接

https://www.bilibili.com/video/BV1UA4y1d7V2

学习任何的编程语言,创建的第一工程都是打印 hello world,学习 Qt 也不例外
只是 Qt 不是一门语言,而是一个 基于 C++ 的 GUI 开发框架,因此这里我们创建第一个界面程序
在创建第一个界面程序之前,首先来配置一下 Qt Creator,比如修改主题样式,深色/浅色主题,代码区字体的大小等


1. 配置 Qt Creator


集成开发环境默认的设置,能够满足绝大部分人的需求,但是可能还是有个别选项,不符合我们的需求
因此,第一步都是根据自己的需要,进行简单的设置
常用的集成开发环境:

# 微软出品,宇宙第一 IDE,做 C# 开发就会用到
Visual Studio

# 微软出品并开源的,源代码编辑器,插件丰富强大,可以支持几乎所有开发语言
VS Code

# 谷歌官方,用开发 Android 程序,目前 Android 开发的语言,已经由 Java 变为了 Kotlin
Android Studio

# 用于浏览C/C++代码,韦东山老师习惯使用的工具
Source Insight

1.1 设置主题

可以将主题设置为浅色或者深色,比如在晚上的时候,可以将主题调成深色主题,就像手机的白天模式和夜间模式一样

设置方法:【工具】->【选项】->【环境】
设置主题


1.2 设置中英文

【工具】->【选项】->【环境】
设置中英文


1.3 设置代码区字体大小

【工具】->【选项】->【文本编辑器】->【Fonts & Colors

设置代码区字体大小

还可以设置鼠标滚轮,来放大和缩小字体

方法:【工具】->【选项】->【文本编辑器】->【Behavior

很实用和方便的功能,尤其是你在给同事讲解代码时,可以方便地放大代码区域
滚轮缩放


1.4 显示行号、高亮显示当前行

方法:【工具】->【选项】->【文本编辑器】->【Display

  • 显示行号:方便代码行数的定位
  • 高亮显示当前行:方便快速定位当前光标所在的行。这个默认时未勾选的,建议勾选
  • 显示文件编码:界面上直观地显示文件编码。这个默认时未勾选的,建议勾选,这样文件编码显示在打开文件的右上角。
    显示行号

1.5 设置文件默认编码

文件的默认编码为 utf-8,建议保持默认,这样中文不会乱码
如果是 GB2312 或者 GBK 编码的文件, 使用 utf-8 编码来打开就会乱码
方法:【工具】->【选项】->【文本编辑器】->【Behavior】
文件编码


1.6 保存时清理

就是在保存文件时,清除多余的空白字符,使代码简洁,并且占用的文件大小也会缩小
VSCode 以及 Source Insight 中都有这种设置
方法:【工具】->【选项】->【文本编辑器】->【Behavior】
保存时清理


2. 新建第一个Qt工程


环境配置好了,就可以开始新建第一个 Qt 工程了


2.1 打开新建工程窗口

在【欢迎】模式下,点击【Create Project…】
或者【文件】菜单,点击【New Project…】,都可以打开如下新建项目的对话框:
在 Qt 中,Widget 类是所有窗口类的基类,因此要创建基于窗口的应用,就要选择【Qt Widgets Application】
新建工程窗口


2.2 指定项目名称和保存路径

指定项目名和路径

注意:

作为一名专业的程序员,项目名称,项目路径,包括文件明,都不要使用中文,否则可能会报错,或者出现莫名其妙的问题!


2.3 选择构建系统

选择构建系统

2.4 选择窗口类

选择窗口类

2.5 国际化

国际化


2.6 选择编译套件

选择编译套件

2.7 版本控制

常用的版本控制工具有 svngit,通常我们自己使用 svn 或 git 来进行版本管理即可,这里选择 none
版本控制


3. 项目文件说明


上一步,直接点击完成,就可以打开如下:
项目文件说明

下面对 HelloQt.pro 文件和 main.cpp 文件,进行介绍

至于mywindow.hmywindow.cppmywindow.ui 这三个文件,会在下一节《项目构建流程》时详细说明。


3.1 HelloQt.pro

HelloQt.pro

QT 选项用于指定项目中用到的 Qt 模块
通常一个窗口程序,肯定要用到的三个模块就是:coreguiwidgets
那么,Qt 中还有哪些常用的模块呢?

# QtCore 模块是Qt应用程序的基础,是核心的非图形类。
# 提供了信号与槽的通信机制,并发和多线程,容器,事件系统
Qt Core

# 最重要的GUI模块。图形用户界面 (GUI) 组件的基类。
Qt GUI
  
# 包含基于GUI应用程序的典型小部件类,比如按钮、文本框、标签等
# 在 Qt5 中, 从 Gui 模块中分离出来。
Qt widgets

# 网络模块。用于支持 TCP, UDP, HTTP 通信
Qt Network

# 多媒体模块。音频、视频、广播和相机功能类。  
Qt Multimedia

# Qt Multimedia 的小部件。
Qt Multimedia Widgets

# 数据库模块。用于操作数据库,比如后面会将到的 sqlite、MySQL  
Qt SQL
  
# web引擎模块。用于 web 相关的开发
Qt WebEngine

############################################################
# 以下是 QML 相关的模块
# QML 是什么呢?
# 简单来说,就是使用类似 js 的语法来构建界面,而不是 widget 的方式

# Qt QML模块。用于 QML 和 JavaScript 语言。
Qt QML

# 该模块用于使用 QML2 编写的 GUI 应用程序。用于构建具有自定义用户界面的高度动态应用程序的声明性框架。  
Qt Quick
  
# 提供轻量级 QML 类型,用于为桌面、嵌入式和移动设备创建高性能用户界面。这些类型采用简单的样式架构并且非常高效。
Qt Quick Controls
  
# 用于从 Qt Quick 应用程序创建系统对话框并与之交互的类型。
Qt Quick Dialogs
  
# 用于在 Qt Quick 中安排项目的布局。
Qt Quick Layouts

3.2 main.cpp

main.cpp 文件是 Qt 程序的入口文件,其中的 main 函数是入口函数

#include "mywindow.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    // 1. QApplication 是 Qt 框架提供的应用程序类
    // 作用:负责 Qt 中事件的处理,比如鼠标的单击事件,键盘的输入事件等
    QApplication a(argc, argv);
    
    // 2. 创建自己的窗口对象,并调用其 show 方法,将窗口显示出来
    MyWindow w;
    w.show();
    
    // 3. 调用 QApplication 类的 exec 方法,应用程序就阻塞在这里,并不会退出,
    // 而是进入到事件循环的处理, 直到退出程序(比如点击了窗体右上角的关闭按钮)
    return a.exec();
}

下节课,我们详细介绍项目的构建流程,包括:

  • 如何生成 Makefile,如何根据 Makefile 来编译出可执行文件
  • 如何将 ui 文件转换为编译器可编译的 cpp/.h 文件。因为编译器编译的是 cpp/.h 文件,而 ui 文件本身是 xml 格式的,它如何转换为 cpp/.h 文件呢?

这些都会再下一节,为大家详细并深入地讲解!


本节对应的视频讲解:B_站_链_接
https://www.bilibili.com/video/BV1UA4y1d7V2


  • 13
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Qt中创建新工程的过程中,实际上是通过Qt Creator来完成的。下面我们来分析一下Qt Creator是如何生成新工程的源码。 1. 打开Qt Creator,点击“文件”菜单,选择“新建文件或项目”; 2. 在“新建项目”对话框中选择“应用程序”或其他项目类型; 3. 在“项目信息”页签中填写项目的名称和路径等信息; 4. 在“类继承”页签中选择项目的基类,可以选择QWidget、QMainWindow等; 5. 在“高级设置”页签中,可以设置项目的构建目标、编译器、Qt版本等; 6. 点击“完成”按钮,Qt Creator会根据用户选择的选项自动生成一个新的项目。 在以上过程中,Qt Creator主要是通过以下几个源码文件实现的: 1. projectwelcomepage.cpp:项目欢迎页面,显示项目的名称、路径等信息; 2. projectexplorer.cpp:项目浏览器,用于显示项目的文件结构和属性等信息; 3. project.cpp:项目类,用于管理项目的文件、构建目标、编译器等信息; 4. projectwizard.cpp:项目向导,用于指导用户完成新项目的创建过程; 5. wizardpage.cpp:向导页面,用于显示各个步骤的页面; 6. qtversionmanager.cpp:Qt版本管理器,用于管理Qt版本和路径等信息; 7. buildtarget.cpp:目标构建类,用于指定项目的构建目标; 8. compiler.cpp:编译器类,用于指定项目使用的编译器。 综上所述,Qt Creator通过以上源码文件的协作,实现了新建项目的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大轮明王讲QT

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值